Files
ccdi/docs/reports/implementation/2026-07-01-project-manager-role-access.md

1.8 KiB
Raw Blame History

manager 项目权限实施记录

修改内容

  • 新增后端项目访问控制服务,统一判断 admin / manager / 创建者 的项目读权限,以及 admin / 创建者 的项目操作权限。
  • 项目列表、历史项目、状态统计按当前用户角色自动限制范围,并在项目 VO 中返回 ownedByCurrentUsercanOperate
  • 项目列表、项目详情、流水明细、上传记录、证据读取等基础读接口不再依赖 ccdi:project:list/query 菜单权限,避免普通角色登录后被菜单权限提前拦截。
  • 为项目详情、结果总览、流水明细、专项排查、关系图谱、资金图谱、上传、参数、证据、重新分析等接口补充项目级读写权限校验。
  • 新增 manager 角色幂等 SQLrole_key='manager' 维护角色并授予项目相关菜单权限,不绑定具体用户。
  • 前端项目列表、详情页、上传、参数、证据、项目分析图谱按 canOperate 展示只读态,并在写入方法入口拦截。

影响范围

  • manager 可查看所有项目,操作他人项目会被后端拒绝;操作本人项目仍受菜单权限控制。
  • 普通角色可进入项目列表并查看本人创建的项目,直接传入他人项目或资源 ID 会被拒绝;写操作仍受菜单权限和项目归属共同约束。
  • 资金图谱手工资金流保持全局资金图逻辑,不新增项目归属字段,也不按项目过滤手工边;保存入口只使用当前项目 ID 做操作权限校验。

验证记录

  • 后端计划执行:mvn -pl ccdi-project -am compile -DskipTests
  • 前端计划执行:source ~/.nvm/nvm.sh && cd ruoyi-ui && nvm use && npm run build:prod
  • 浏览器计划验证admin、manager、普通角色的列表范围、详情只读态、按钮显隐和接口拒绝行为。