RBAC 权限配置指南
后台「点哪里」看本页。表结构、用户类型、API 权限见 权限模型与表结构。
本文档讲解 Forge Admin 中 RBAC(基于角色的访问控制)权限体系的完整配置流程,帮助你理解各要素之间的关联关系并掌握从零配置一个新角色的完整操作。
权限模型
Forge Admin 采用经典的 RBAC 模型,权限控制链路为:
用户(User)→ 角色(Role)→ 菜单/资源(Menu/Resource)- 用户:系统的登录账号,不直接拥有权限
- 角色:权限的载体,一个角色关联多个菜单,一个用户可以拥有多个角色
- 菜单/资源:系统中的可访问资源,包括目录、页面菜单和操作按钮
用户的最终权限 = 其所拥有角色的权限并集。
权限要素说明
| 要素 | 说明 | 配置入口 |
|---|---|---|
| 菜单目录 | 导航分类,如「平台管理」 | 菜单管理 |
| 页面菜单 | 具体功能页面,如「用户管理」 | 菜单管理 |
| 按钮权限 | 页内操作控制,如「新增用户」 | 菜单管理(类型选按钮或 API 接口) |
| 数据权限 | 控制数据可见范围 | 角色 更多 里;Mapper 级规则在数据权限配置 |
完整配置步骤
下面以创建一个"部门管理员"角色为例,演示从头配置一个完整权限角色的流程。
第一步:定义菜单资源(如已存在可跳过)
- 进入 平台管理 → 菜单管理
- 确认所需的菜单页面已存在(如"用户管理"、"组织机构管理")
- 确认所需的按钮权限已配置(如"新增用户"、"编辑用户")
- 如果缺少,按菜单与资源管理的说明补充
第二步:创建角色
- 进入 平台管理 → 角色管理
- 新增角色(行上是 编辑 / 适用组织 / 更多)
- 填写角色名称:「部门管理员」
- 权限字符:
ROLE_DEPT_ADMIN - 点击 确定
第三步:分配菜单权限
- 点「部门管理员」行上的 更多,再选分配菜单
- 在菜单权限树中,勾选该角色需要访问的资源,例如:
平台管理→用户管理平台管理→用户管理下的按钮(新增 / 编辑 / 导出)平台管理→组织管理
- 点击 确认 保存
第四步:设置数据权限
- 同样在 更多 里找数据范围
- 选择数据范围,例如本组织及子组织
- 点击 确定
第五步:分配用户
- 点「部门管理员」的 更多,再选分配用户
- 在待选用户列表中,勾选目标用户
- 点击 确定
第六步:验证
- 使用被分配该角色的用户账号登录系统
- 检查左侧菜单是否仅显示已分配的菜单项
- 检查操作按钮是否正确显示(如"新增"、"编辑")
- 检查数据列表是否仅显示权限范围内的数据
常见配置模式
| 场景 | 菜单权限 | 数据权限 | 角色编码建议 |
|---|---|---|---|
| 超级管理员 | 全部菜单 | 全部数据(1) | ROLE_ADMIN |
| 组织负责人 | 本组织相关功能 | 本组织及子组织(4) | ROLE_ORG_MANAGER |
| 普通员工 | 个人相关功能 | 个人数据(5) | ROLE_EMPLOYEE |
| 只读用户 | 全部菜单查看 | 视角色 data_scope | ROLE_READONLY |
注意事项
- 用户可拥有多个角色,权限取并集
- 修改角色权限后,已登录用户需重新登录或等待 Token 过期后生效
- 数据权限与菜单权限相互独立,需分别配置
- 删除菜单资源时,关联的角色权限不会自动清理,可能导致脏数据
