访问控制 → 角色管理:角色是一组授权的集合,分配给用户、用户组、部门或岗位后生效。

系统角色与自定义角色
每个租户都有系统角色 租户管理员,平台租户还有 平台管理员。系统角色自动拥有其模块下的全部资源,不能修改;需要类似但更小的权限时,复制系统角色,再修改副本。
自定义角色有编码(小写字母、数字、点、连字符或下划线)和名称,可以停用:停用的角色不给任何权限,也不通过继承传递权限。
授权
在角色行上点击 授权,打开授权矩阵:

- 按应用切换,资源按目录树展开,每个资源可以选择“允许”或“拒绝”。
- 允许一个按钮会自动推导出它所在的页面和它需要的接口,不必逐个勾选。推导出的资源在矩阵里有标记。
- 拒绝优先,并作用于下级资源:拒绝一个页面,页面下的按钮即使在别的角色里被允许也不可用。
- 你只能授出自己拥有的权限,避免越权。持有系统角色的人可以授出业务应用的任何资源。
保存前,GrantForge 会显示这次修改的影响:哪些资源会变为可用或不可用、有多少用户持有这个角色。
继承
点击 继承,选择这个角色继承的角色:它会得到被继承角色允许和拒绝的一切,以及它们再继承的角色。继承不能成环,你只能继承自己拥有的权限。适合“经理 = 员工 + 审批”这种叠加关系。
分配
点击 分配,把角色分配给:
| 对象 | 说明 |
|---|---|
| 用户 | 直接给某个账号 |
| 用户组 | 组内所有成员获得角色 |
| 部门 | 部门成员获得角色,可选“包含下级部门” |
| 岗位 | 任该岗位的人获得角色 |
每个分配可以设置生效时间和截止时间,到期自动失效,适合临时授权。也可以通过 权限申请与审批 让用户自己申请限时角色。
分配与授权受 职责分离 约束:会让某人同时持有互斥角色的分配会被拒绝。
数据权限与字段权限
角色行上的 数据权限 与 字段权限 分别决定持有者能看到哪些行、如何看到和修改哪些字段,见 数据权限 与 字段权限。
复制与删除
复制 会连同授权、数据权限与字段权限一起复制。删除角色会同时删除它的分配、授权与策略,无法恢复。
