2.7 KiB
2.7 KiB
AP 全量读取最小收窄方案(专用权限修订已批准)
1. 读取授权
获批修订:新增专用权限 finance.ledger.view,仅授予 ceo、finance、finance_mgr;两个 AP GET 及前端入口统一只检查此权限。manager 不授予;不存在 CEO 角色特判,旧付款管理、复核、风险和支付权限均不再独立授予 AP 读取。既有应急 admin 通配符语义不变。
前后端各有静态 ROLE_PERMISSIONS,需要同步三类角色和相关测试,不是只改服务端三行。无数据库权限迁移,不授予 CEO 写权限,不按人员账号特判,不采用 manager deny-list。AP 导出仍使用原有独立权限。
2. 接入范围
server/src/routes/apOperations.js:两个 GET 共用收紧后的守卫,数据查询之前拒绝。功能门禁先后顺序保持现状。client/src/auth/permissions.ts:集中表达 AP 全量读取判据;不修改通用付款复核判据或其他角色权限集合。client/src/router/index.tsx、AP 页面入口及服务端workspaceSettings:只同步 AP 投影,核对移动和桌面入口,不能全局替换相同的旧 permission 数组而误伤付款路由。server/src/routes/exports.js:现有导出不含复核授权,本轮不更改;验证拒绝和已有正例。- 不在 AP 中另造“经理相关单据子集”;经理继续通过既有审批/付款复核路径处理职责内工作。若核实必须借 AP 才能完成复核,报告导航依赖并交审,不默认扩充数据范围。
3. 验证矩阵
| 身份 | AP 汇总/台账 | 付款复核 | AP 导出 |
|---|---|---|---|
| employee | 拒绝 | 按现有权限拒绝 | 拒绝 |
| manager,仅复核职责 | 拒绝 | 保留原业务条件 | 拒绝 |
| ceo | 保留全量读取 | 保留原业务条件 | 不新增 |
| finance / finance_mgr | 专用权限允许 | 不改变角色和独立复核条件 | 按既有两项权限 |
| manager+已授权财务角色 | 允许 | 原条件不变 | 按财务授权 |
| 仅系统管理员 | 不新增 | 不新增 | 不新增 |
| 仅持旧付款管理/复核/风险/支付权限 | 拒绝 | 按原权限 | 按既有两项权限 |
API 验证包括数据查询未发生、筛选不绕过;前端验证包括直连、菜单和复核入口。现有经理 AP 拒绝断言保留,必要时拆分用例使后续角色断言真正执行,不以局部通过冒充整个权限审计通过。
4. 安全与交付边界
不查询生产日志,不回填历史访问结论。不触碰既有门禁交审文件;若实施必须修改已交审测试,先保存对应增量基线,单独交本 task diff,不混报旧包。实现后独立只读复核,提交、推送和部署继续另行授权。