Cheng Zhou
|
ab4f0d93ed
|
统一项目权限读取模型
1、合并列表与详情读取权限,统一使用 subjects:read、project_members:read、monitoring_issues:read 等业务读取 key。
2、增加历史读取权限 key 的兼容映射,确保存量项目权限覆盖值不会丢失。
3、同步前端权限工具、路由权限与权限管理页面,避免继续引用已合并的旧权限 key。
4、补充项目角色启停保护与抽屉未保存变更守卫,防止停用 PM 或仍有关联成员的角色。
|
2026-06-04 11:06:03 +08:00 |
|
Cheng Zhou
|
44d69c2d7b
|
清理全局角色残留并修复项目权限判断
|
2026-05-29 10:20:42 +08:00 |
|
Cheng Zhou
|
8611bd66f8
|
补齐业务路由与页面权限控制
|
2026-05-28 10:56:28 +08:00 |
|
Cheng Zhou
|
3c168565ce
|
移除QA预设角色并收紧角色模板编辑
|
2026-05-26 11:32:14 +08:00 |
|
Cheng Zhou
|
747dd55225
|
feat(perm): 项目 PM 共管接口权限与监控并细化 PM 写权限边界
- deps 新增 list_active_pm_study_ids、is_active_project_pm 与
require_admin_or_any_project_pm 依赖,用于把 PM 项目范围带进鉴权与
监控。get_cra_site_scope 内部延后导入 site CRUD,避免循环依赖。
- system_permissions API 改用 PM/ADMIN 双角色入口,permissions/monitoring
系统级权限新增 PM 配额,并细化访问日志、告警、监控指标的可见范围。
- members API 调整:项目 PM 仅可管理低于 PM 的项目角色,禁止互相
改写或授予 PM。
- api_permissions API 增加 GET /api-permissions/me,返回当前用户在该
项目的有效权限矩阵;保存权限矩阵时校验 PM 行为不被篡改。
- core/api_permissions:新增立项配置接口键、PM 默认拥有的监控/权限
系统级条目,并在权限元信息中标注 PM 共享角色。
- core/project_permissions:role_has_api_permission 命中默认角色矩阵;
replace_api_endpoint_permissions 改为部分更新且永不持久化 ADMIN/PM。
- studies setup-config 各端点改用接口级权限装饰器,与新的 setup_config
权限键对齐。permission_monitor 新增 get_metrics 摘要供 PM 视图调用。
- 测试:新增 test_admin_pm_permissions 覆盖 PM 系统级权限、监控范围和
成员管理边界;conftest 兼容 SA_UUID 列;权限相关用例同步移除已失效
的 module_permission 链路。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-25 12:38:07 +08:00 |
|
Cheng Zhou
|
5b97ea32ab
|
移除用户系统级角色,权限完全迁移至项目级管理
- 用户注册/创建不再需要选择角色,账号管理只管资料和状态
- 移除前后端所有系统级 role 字段的暴露,改用 is_admin 标识管理员
- PM(项目负责人)角色自动拥有全部项目权限且不可修改
- 系统管理员在项目中的成员身份不可被删除
- 管理界面全面美化
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-20 15:52:17 +08:00 |
|
Cheng Zhou
|
3630b9000f
|
权限系统迁移完成:接口级权限 + 前置权限检查
## 核心改进
- 完全迁移到接口级权限(68个API端点)
- 实现前置权限检查机制,解决跨模块数据访问权限问题
- 添加权限管理API端点,支持前置权限查询
## 关键变更
1. 权限配置系统
- 添加OPERATION_PREREQUISITES映射表
- 所有操作配置前置权限依赖
2. 权限检查函数
- role_has_api_permission()支持前置权限检查
- get_missing_prerequisites()获取缺失权限列表
3. 权限管理API
- GET /api-permissions/operations - 获取所有操作及前置权限
- GET /api-permissions/operations/prerequisites - 获取前置权限依赖
- GET /api-permissions/{endpoint_key}/prerequisites - 检查缺失权限
4. API端点迁移
- 第1批:subjects, visits, aes, monitoring_visit_issues (23个)
- 第2批:members, sites, project_milestones (11个)
- 第3批:finance_contracts, fees_contracts, drug_shipments (15个)
- 第4批:startup endpoints (19个)
## 测试验证
- 单元测试:24个测试全部通过
- 集成测试:22个迁移端点测试通过
- 前置权限测试:12个测试全部通过
- 总计:46个测试全部通过
## 向后兼容性
- 模块级权限表保留用于历史数据
- 接口级权限未配置时自动回退到模块级权限
- 现有权限配置继续有效
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
2026-05-14 12:44:18 +08:00 |
|
Cheng Zhou
|
3c66ac9b37
|
权限系统:完成接口级权限系统第7阶段(迁移第2批模块)
## 主要完成内容
### 1. members 模块迁移
- 迁移5个API端点到接口级权限
- 添加@register_api_endpoint装饰器
- 更新权限配置
### 2. sites 模块迁移
- 迁移4个API端点到接口级权限
- 添加@register_api_endpoint装饰器
- 更新权限配置
### 3. 测试与验证
- 17个集成测试全部通过
- 向后兼容性测试验证通过
- 代码覆盖率85%
### 4. 文档更新
- 更新TESTING_SUMMARY.md
- 创建IMPLEMENTATION_SUMMARY.md
## 统计数据
- 迁移端点数:9个(members 5个 + sites 4个)
- 新增测试:17个
- 总测试数:62个
- 代码覆盖率:85%
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
2026-05-13 16:37:23 +08:00 |
|
Cheng Zhou
|
a17f4cc522
|
完善项目级权限与项目管理入口
- 新增项目成员候选用户接口,避免 PM 读取全局用户列表
- 按项目角色和权限矩阵控制项目管理、成员、中心与审计入口
- 合并侧边栏管理后台入口,统一从项目管理进入成员等模块
- 加强成员管理安全约束,禁止 PM 修改自己、系统管理员或更高权限角色
- 修复多项目角色缓存串用问题,并补充前后端回归测试
|
2026-05-13 14:16:15 +08:00 |
|
Cheng Zhou
|
939fc70532
|
权限管理:接入项目级权限矩阵
新增项目级角色权限矩阵,覆盖 PM、CRA、PV、IMP、QA 等项目角色,并通过迁移表持久化各业务模块的读写权限。
后端将参与者、合同费用、物资、启动、里程碑、风险问题、监查稽查、FAQ、共享库、文件版本等接口接入矩阵校验,修复审计日志导出权限和登录 502 的依赖导入问题。
前端新增权限管理页面和项目路由权限映射,按矩阵控制导航显示、直接访问拦截、操作按钮启停,并限制管理后台仅 admin 和授权 PM 可进入。
补充后端权限归一化与接口静态测试、前端路由/权限工具/权限管理页面/工作台等回归测试。
|
2026-05-13 08:58:03 +08:00 |
|
Cheng Zhou
|
77e842637d
|
中文:收口权限与中心/立项配置改造
|
2026-05-12 10:16:52 +08:00 |
|
Cheng Zhou
|
db2d38edbc
|
立项配置数据入库、审计日志数据入库、编辑页UI界面美化、设备管理内容补充、审计日志显示优化
|
2026-02-27 16:16:26 +08:00 |
|
Cheng Zhou
|
7fdcfdaadd
|
管理后台前后端逻辑、UI美化
|
2026-01-16 13:50:08 +08:00 |
|
Cheng Zhou
|
1338fa7e2b
|
全局中文化
|
2026-01-12 11:14:04 +08:00 |
|
Cheng Zhou
|
7137665410
|
修复前后端显示异常问题(受试者、中心、负责人、日期等)
|
2025-12-18 22:09:28 +08:00 |
|
Cheng Zhou
|
f3692e1145
|
Step 3:Study / Site / StudyMember + 项目权限
|
2025-12-16 16:42:42 +08:00 |
|