「能做什么」由权限组决定;「在哪些项目上做」由项目成员表约束。适合给产品负责人单独账号,只管自己的 changelog 目录。
Added
重点
- 项目成员:用户编辑页勾选可管理项目;项目管理侧支持按用户名添加 / 移除成员(
dv_project_members) - 范围语义:
projects.scope_all→ 全部项目(成员表可空)projects.scope_assigned→ 仅成员表内项目- 项目列表、单项目重建、评论审核、条目与 docbase API 均按范围过滤
GET /api/admin/me:返回permissions[]、project_scope(all|assigned)、project_slugs[]- 侧栏按权限码显隐(设置 / 主题 / 用户 / 权限组 / 统计 / 日志等)
- 桌面客户端:登录后 roots / 菜单与 Web 权限一致;无
docbase.write或越权项目 → 403
细节
- API:
GET/PUT /api/admin/users/{id}/projects、GET/POST /api/admin/projects/{slug}/members、删除成员接口 - 移除成员后立即不可再操作该项目
- 项目 purge / missing 清理时级联删除成员行,避免孤儿数据
- 仪表盘无对应权限的卡片默认隐藏
Changed
- 原「登录即见全部项目、全部菜单」变为按有效权限与范围裁剪;超管升级后体验不变
Security
- 对未分配项目调用重建 / docbase 写删 → 403
- 递归删除等仍须既有确认参数;权限不能替代二次确认
Notes
- 成员绑定以 已索引项目 为主;新建目录并重建后再拉人
- 仍禁止无人确认的镜像删除远端多余文件(桌面端约定)
还没有评论,来抢沙发吧