Skip to content

角色管理

角色把一组菜单打包成一份岗位职责。一个用户可以拥有多个角色,最终权限取并集;一个角色可以分配给任意多用户。

配置项

字段说明
编码唯一标识,创建后不可修改,便于在代码中引用
名称显示名称
状态停用后该角色下的菜单权限对所有用户失效,不必逐个解绑
菜单权限树形勾选。勾选表格类菜单的同时,可继续勾选其下的新增 / 修改 / 删除 / 导出等功能按钮,实现按钮级授权
包含用户反向查看有哪些用户持有该角色

按钮级权限

菜单管理中,每个 Erupt 类菜单下都会自动生成功能按钮子菜单。角色只勾选「订单」而不勾选其下的「删除」,用户就看不到删除按钮,直接调接口也会被 403 拒绝。前后端共用同一套菜单值做判断,不存在「前端藏了、接口还能调」的缝隙。

严格角色菜单策略

默认开启 erupt.upms.strict-role-menu-legal:非超管用户在此分配菜单时,候选菜单树只包含自己已拥有的菜单(取其全部启用角色的并集),因此无法把自己没有的权限授予别人,杜绝了「建个角色给自己提权」的路径;超管不受限制。

WARNING

角色上原有的、超出操作人可见范围的菜单不会显示在树中,该用户保存后这些菜单会被移除。跨范围的角色请由超管维护,或关闭该策略。

实践建议

  • 职责而非按人建角色:「订单审核」「财务查看」,而不是「张三专用」。
  • 只读角色只勾选表格菜单,不勾任何功能按钮。
  • 角色管理菜单本身也是权限:不要把它分配给普通角色。

erupt-ai 的 Tool 授权也复用了这里的角色,见按角色授权 Tool

贡献者

The avatar of contributor named as YuePeng YuePeng
The avatar of contributor named as Claude Opus 5 (1M context) Claude Opus 5 (1M context)

页面历史

Released under the Apache-2.0 License.