工作室多产品并行时,不能再让任意后台账号改站点配置、全量重建或写全部 docbase/。优天日志系统在本轮引入 RBAC 权限组 + 项目范围,仍不开放前台注册与个人中心。
Added
重点
- 稳定权限码目录(
域.动作):站点域(设置/主题/用户/权限组等)与项目域(重建、评论、docbase 读写删等)分列;代码内常量为真相源 - 统一鉴权:
Can/CanProject/AccessibleProjectIDs;默认拒绝;super_admin短路;禁用账号视为未登录 - 双层模型:权限组决定「能做什么」;项目成员表决定「在哪些项目上做」(具备
projects.scope_all时跳过成员表) - 种子系统组:
super_admin/site_admin/content_editor/project_member - Schema 自动迁移:
dv_roles、dv_role_permissions、dv_admin_roles、dv_project_members;扩展dv_admins的display_name/status/last_login_at - 既有
/api/admin/*与后台页挂requirePerm/ 项目域检查
细节
- 有效权限 = 用户所绑各组权限 并集;短缓存按
admin_id,写操作后失效 - 升级:无人绑超管时,为无角色的启用管理员补绑
super_admin,行为与升级前一致 - 新装:首个管理员绑超管并种子四组
Security
- 仅隐藏菜单不可绕过:直接打 API 仍返回 403;未登录/禁用为 401
- 项目列表与写操作带范围过滤,降低改
project_id的 IDOR 风险 - 路径守卫仍约束 docbase;权限是额外一层,不改变「文件为源」
Notes
- 需求基线:
docs/PRD-后台权限与用户管理-zh.md - 非目标:前台 OAuth/个人中心、多租户、LDAP/SSO、按单篇日志的 ABAC(Post-MVP)
还没有评论,来抢沙发吧