Skip to content

RBAC 权限体系

identity + system 两个服务合力提供完整的 RBAC:用户—角色—权限 三级 + 菜单/按钮/数据三个粒度。

组成

对象说明
用户支持部门归属、多岗位、启用/禁用、Excel 批量导入导出
角色挂权限点集合 + 数据范围;super_admin 直通全部
权限点码约定 {domain}:{resource}:{action},如 system:user:create
菜单树结构种子下发,按角色权限过滤;前端据此渲染侧栏
部门树结构,含主管(leader_user_id,审批流部门主管规则用)
岗位用户多对多关联,用户表单可选岗

三个控制粒度

  1. 接口级:路由挂权限中间件(Redis 缓存权限集合,miss 回源 DB)。
  2. 按钮级:前端 usePermission().hasPerm('system:user:create') 控制显隐。
  3. 数据级(数据范围):角色可配「全部 / 本部门及以下 / 仅本人」,列表查询经数据范围插件自动过滤——审批流、日志查询等均已接入。

使用建议

新业务的权限点用 SQL 迁移播种并补挂 super_admin;不要在代码里硬编码角色名做判断(super_admin 直通已由中间件统一处理)。

MIT Licensed · 开源 Go 微服务后台管理脚手架