完善项目权限前置依赖保存校验
- 以接口权限定义中的 prerequisite_permissions 作为前置依赖单一事实源,生成运行时前置权限映射\n- 保存项目角色权限前预检缺失前置权限与受影响下游权限,未确认时返回 409 调整详情\n- 确认保存时自动合并补齐前置权限与取消下游权限,并提供有效权限矩阵读取接口\n- 前端角色权限编辑改为保存时执行依赖校验,弹窗展示需补充前置权限和受影响下游权限\n- 新增编辑权限取消按钮,清理权限选择即时确认弹窗残留\n- 补充后端接口测试、前端权限编辑测试与优化设计文档
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
# 项目权限前置审查优化设计
|
||||
|
||||
## 目标
|
||||
|
||||
项目权限保存时必须先审查前置权限。授权子权限缺少前置权限时,系统提示授权人确认补齐;取消前置权限影响下游权限时,系统提示授权人确认消除。未经确认的不一致权限组合不能落库。
|
||||
|
||||
## 方案
|
||||
|
||||
- `API_ENDPOINT_PERMISSIONS[*].prerequisite_permissions` 作为前置权限单一事实源,运行时映射由它生成。
|
||||
- 后端保存权限前合并当前矩阵和提交草稿,计算缺失前置权限与受影响下游权限。
|
||||
- 未确认时如存在补齐或消除项,接口返回 `409 Conflict` 和调整详情。
|
||||
- 确认后后端应用调整:授权子权限时补齐前置权限,取消前置权限时消除受影响下游权限。
|
||||
- `/me` 返回有效权限,避免前端菜单或按钮展示运行时不可用的授权。
|
||||
- 前端角色编辑器保存前本地预检,弹窗展示补齐/消除项,授权人确认后再提交确认标记。
|
||||
|
||||
## 测试范围
|
||||
|
||||
- 后端:预检结果、未确认拒绝、确认补齐、确认消除、有效权限矩阵。
|
||||
- 前端:操作元数据包含前置权限、保存前提示确认、确认后提交确认标记。
|
||||
|
||||
## 约束
|
||||
|
||||
- 不做 git 分支、提交或推送。
|
||||
- 不引入新权限抽象表,保持 KISS。
|
||||
- 不静默修改授权人的草稿,所有补齐/消除必须经过确认。
|
||||
Reference in New Issue
Block a user