SuperAPI AI 工具集

rbac-authorization-patterns

安全与审计

查看项目

更新于 10-15 21:47

技能介绍

用途:在 laneweaverTMS 中实现基于角色的访问控制(RBAC)与多租户授权,适用于 Go/Echo 后端与 Supabase/PostgreSQL 组合场景,例如定义货运经纪用户角色与权限、编写 Echo 角色/权限中间件、配置基于账号的多租户隔离、设计 JWT 声明结构、编写行级安全(RLS)策略以及选择授权失败的 HTTP 状态码。

主要能力:资料给出标准角色(admin、dispatcher、sales、finance、driver、readonly)及典型访问范围;权限采用 resource:action 形式,如 loads:read、invoices:approve、reports:financial、users:manage。数据库部分提供 roles、permissions、role_permissions、user_roles、account_users 等建表语句及索引与默认角色种子数据。中间件部分包含上下文键、JWT Claims 结构、JWTAuth 认证中间件、TenantContext 租户中间件、RequireRole/RequireAnyRole/RequireAllRoles 与 RequirePermission 权限中间件,并演示按 Auth→Tenant→Role→Permission 顺序挂载路由。多租户部分启用 RLS 并给出基于 account_users 的隔离策略、user_has_role 辅助函数、财务发票角色策略以及司机仅见已分配运单的策略。

使用方式:资料建议将角色与权限映射在生产环境改为数据库或缓存查询,也可将权限直接放入 JWT。授权失败状态码:缺失或无效令牌用 401,已认证但权限不足用 403,隐藏资源存在性时用 404。

限制:资料未提供安装命令、运行环境要求、性能基准、收费与许可信息,也未给出完整测试与部署步骤;示例中的角色映射为简化版,生产需替换为真实数据源。