用「组 + 权限码」描述能力,避免在业务里硬编码角色名。运营可单独做「仅评论」等自定义组。
Added
重点
- 页面
/admin/roles:列表展示预置 + 自定义组、绑定用户数、是否系统组 - 新建 / 编辑:名称、备注、权限码多选(站点域 / 项目域,按功能模块分组,组标题可全选)
- 预置组摘要:
super_admin:全部能力短路;权限集只读、不可删site_admin:站点配置 + 用户/组 + 全项目范围 + 重建/评论等content_editor:全项目内容与重建/评论/docbase,无站点设置与用户管理project_member:仅成员表内项目 + 对应内容能力,无全量重建与站点设置- API:
GET/POST /api/admin/roles、GET/PUT/DELETE /api/admin/roles/{id}
细节
- 保存后下次请求即生效(ACL 缓存失效)
- 自定义组:
is_system=0;仍有用户绑定时删除会被拒绝 - 权限勾选 UI 与代码目录
AllPermissions()对齐,避免散落字符串
Notes
- 需要
roles.read/roles.write;无权限菜单不渲染且 API 403 - 不在 handlers 里按角色名分支,只认权限码
还没有评论,来抢沙发吧