9.9 KiB
9.9 KiB
权限文档补充清单与编写建议
适用范围:
docs/权限与地区隔离/当前文档体系
目标:明确“现有文档已经覆盖了什么”“还缺哪些关键文档”“每份补充文档应该写什么”。
1. 当前文档覆盖情况
目前这个目录下已经有:
权限与地区隔离文档导航.md用户与地区权限完整设计方案.md用户权限与权限点清单.md用户权限初始化SQL.sql权限架构全面优化改造方案.md角色硬编码与接口影响专项补充分析.md
这批文档已经覆盖了 3 个层面:
- 现行设计层
- 系统最终采用什么权限模型
- 权限点与初始化层
- 角色、菜单、权限点、SQL
- 改造策略层
- 架构问题、改造方向、硬编码角色、接口影响面
所以当前并不是“文档太少”,而是还缺少落地执行层文档。
换句话说:
- “为什么这么改”已经基本够了
- “具体怎么一批批改、怎么验收、怎么防回归”还不够
2. 当前最缺的文档类型
当前最缺的不是再写一份大而全方案,而是补下面 5 类文档:
- 统一执行器设计文档
- 实施任务拆解文档
- 接口权限矩阵文档
- 测试验收文档
- 迁移灰度与回滚文档
这 5 类文档补齐后,权限体系文档才会从“设计完整”进入“可实施、可协作、可验收”状态。
3. 建议优先补充的文档
下面按优先级给出建议。
3.1 P0:统一数据范围执行器设计.md
建议文件名:
docs/权限与地区隔离/统一数据范围执行器设计.md
为什么必须补:
- 当前最大缺口就是
data_scope已建模但没有统一执行层 - 主方案已经讲了方向,但还没有到“类设计/接口设计/接入方式”的粒度
建议文档内容:
- 背景与目标
- 当前问题
- 核心对象设计
PermissionDecisionScopeContextDataScopeResolverQueryScopeBuilderModulePolicy
- scope 计算规则
- 多角色合并规则
DENY与GRANT优先级- 通用字段映射规范
regioncreated_byowner_id
- 模块接入方式
- 代码落点建议
- 第一批接入模块
这份文档的作用:
- 把“方案级描述”变成“研发可直接开工的设计稿”
3.2 P0:权限改造实施任务拆解与排期.md
建议文件名:
docs/权限与地区隔离/权限改造实施任务拆解与排期.md
为什么必须补:
- 当前总方案里有阶段建议,但还不够任务化
- 真正落地时需要明确每阶段交付、负责人边界、依赖顺序
建议文档内容:
- 总目标
- Phase 划分
- 每阶段任务清单
- 每阶段输入输出
- 依赖关系
- 关键风险
- 验收门槛
- 建议排期
建议拆成:
- Phase 1:统一能力层
- Phase 2:RAG 去双轨
- Phase 3:文档/公文/统计统一 scope
- Phase 4:RBAC 管理域与首页入口
- Phase 5:前端去角色化与 fallback 收口
3.3 P0:权限测试验收与回归用例清单.md
建议文件名:
docs/权限与地区隔离/权限测试验收与回归用例清单.md
为什么必须补:
- 权限改造最怕“改对了一处,放大了另一处”
- 现在还缺一份真正可执行的验收清单
建议文档内容:
- 测试目标
- 用户角色矩阵
- 数据边界矩阵
- 模块覆盖矩阵
- 接口级用例
- 越权回归用例
- 菜单/页面/按钮一致性用例
- 下载/详情/导出接口专项用例
- 灰度观察指标
重点必须覆盖:
- 文档
- 公文
- 统计
- RAG
- RBAC 管理
- 交叉评查
3.4 P0:权限接口矩阵与数据边界清单.md
建议文件名:
docs/权限与地区隔离/权限接口矩阵与数据边界清单.md
为什么必须补:
- 目前有“权限点清单”,但还缺“接口到数据边界”的完整矩阵
- 这个文档是联调、测试、排查越权最直接的依据
建议文档内容:
每个接口至少写清:
- 接口路径
- 对应 permission_key
- 是否需要 data_scope
- scope 类型
- 是否有模块 policy
- 允许哪些角色/能力访问
- 是否有下载/详情/导出子资源
建议按模块分章节:
- 认证
- 文档
- 公文
- 统计
- RAG
- 交叉评查
- RBAC
- 合同模板
- 规则/评查点
这份文档的价值非常高,因为它会成为:
- 后端改造依据
- 前端联调依据
- 测试验收依据
3.5 P0:角色去硬编码迁移清单.md
建议文件名:
docs/权限与地区隔离/角色去硬编码迁移清单.md
为什么还要单独再补一份:
- 现在已经有“专项分析”
- 但还没有“逐文件、逐逻辑、逐替换策略”的迁移执行清单
建议文档内容:
- 当前硬编码点总表
- 每个硬编码点所属类型
- 替换目标
- 替换优先级
- 是否影响接口行为
- 是否影响前端显示
- 是否需要兼容过渡
建议按表格列:
- 文件
- 位置
- 当前写法
- 问题类型
- 替换方式
- 优先级
- 风险等级
4. 建议第二批补充的文档
这些不是第一优先,但补了会明显提升协作效率。
4.1 P1:前端权限消费改造方案.md
建议文件名:
docs/权限与地区隔离/前端权限消费改造方案.md
为什么建议补:
- 当前前端既有 permission 消费,也有角色硬编码,也有 route fallback
- 需要一份单独文档把前端边界讲清楚
建议内容:
- 菜单权限来源
permission_map的定位user_role的新定位- UI 按钮可见性策略
- 页面 guard 改造策略
- fallback 收口路径
4.2 P1:RBAC管理台改造细化方案.md
建议文件名:
docs/权限与地区隔离/RBAC管理台改造细化方案.md
为什么建议补:
- RBAC 管理台不是普通业务模块
- 它是权限体系的“运营端”
建议内容:
- 角色管理
- 路由管理
- 权限点管理
- scope 展示
- 用户最终权限预览
- 冲突检测
- 灰度观察
4.3 P1:权限可观测性与审计日志方案.md
建议文件名:
docs/权限与地区隔离/权限可观测性与审计日志方案.md
为什么建议补:
- 当前方案里已经指出缺观测能力
- 但还没有专门说明“记录什么、怎么记录、怎么查”
建议内容:
- 权限决策日志
- data_scope 解析日志
- deny 原因日志
- 管理操作审计日志
- 命中/拒绝统计指标
4.4 P1:权限迁移灰度发布与回滚手册.md
建议文件名:
docs/权限与地区隔离/权限迁移灰度发布与回滚手册.md
为什么建议补:
- 权限改造是高风险变更
- 需要单独文档说明如何灰度和回滚
建议内容:
- 灰度开关
- 新旧逻辑并行方式
- shadow compare 方案
- 回滚条件
- 回滚操作步骤
5. 建议第三批补充的文档
这些文档不一定马上要写,但后续如果项目进入实施期,会很有价值。
5.1 P2:模块Policy设计清单.md
建议文件名:
docs/权限与地区隔离/模块Policy设计清单.md
适用场景:
- 当系统开始明确区分
CrossReviewPolicy、RagDatasetPolicy、RuleConfigPolicy时
作用:
- 统一记录哪些模块走通用 scope,哪些模块走关系型访问模型
5.2 P2:权限术语表与统一口径说明.md
建议文件名:
docs/权限与地区隔离/权限术语表与统一口径说明.md
适用场景:
- 项目成员较多、跨前后端协作频繁时
作用:
- 统一
ALL/DEPT/SELF - 统一
area/region - 统一
role/permission/capability/policy
5.3 P2:legacy权限治理遗留清单.md
建议文件名:
docs/权限与地区隔离/legacy权限治理遗留清单.md
适用场景:
- 实施进入中后期,需要记录还没收掉的旧逻辑时
作用:
- 防止历史兼容逻辑永久留在系统里无人认领
6. 当前最推荐立刻补的 5 份文档
如果只选最重要的,我建议立刻补下面 5 份:
统一数据范围执行器设计.md权限改造实施任务拆解与排期.md权限测试验收与回归用例清单.md权限接口矩阵与数据边界清单.md角色去硬编码迁移清单.md
原因很简单:
- 这 5 份补齐后,就能真正开始实施
- 如果只继续写“大方案”,信息会越来越多,但落地抓手不够
7. 当前目录建议结构
建议后续把这个目录里的文档分成 4 组理解:
A. 现行设计
用户与地区权限完整设计方案.md用户权限与权限点清单.md用户权限初始化SQL.sql
B. 架构改造
权限架构全面优化改造方案.md角色硬编码与接口影响专项补充分析.md
C. 需补的实施文档
统一数据范围执行器设计.md权限改造实施任务拆解与排期.md权限测试验收与回归用例清单.md权限接口矩阵与数据边界清单.md角色去硬编码迁移清单.md
D. 后续治理文档
前端权限消费改造方案.mdRBAC管理台改造细化方案.md权限可观测性与审计日志方案.md权限迁移灰度发布与回滚手册.md
8. 最终建议
当前权限文档体系的状态可以概括为:
- 设计层基本够了
- 改造方向层基本够了
- 执行层明显还不够
所以后续补文档时,不建议继续优先写“大而全总方案”。
最优先应该补的是:
- 可直接指导写代码的设计文档
- 可直接指导排期的实施文档
- 可直接指导测试的验收文档
- 可直接指导联调和排查的接口矩阵文档
如果按价值排序,我的建议顺序是:
统一数据范围执行器设计.md权限接口矩阵与数据边界清单.md权限测试验收与回归用例清单.md权限改造实施任务拆解与排期.md角色去硬编码迁移清单.md
这 5 份一旦补齐,当前权限体系就从“分析充分”进入“可工程化推进”的状态。