Cheng Zhou
|
20ce6bccef
|
完全移除模块级权限系统,迁移至接口级权限
后端:
- 删除 StudyRolePermission 模型和 project_permissions API 文件
- 重写 project_permissions.py core,移除所有模块级权限函数
- 重写 permission_cache.py,移除模块级权限缓存逻辑
- 新增权限模板功能(PermissionTemplate 模型、API、服务层)
- 新增 permission_templates 数据库迁移
- 迁移 8 个模块(attachments、audit_logs、dashboard、faqs、
faq_categories、fees_attachments、knowledge_notes、
material_equipments、overview、subject_histories、subject_pds)
至接口级权限检查
- 删除所有模块级权限相关测试文件,新增权限模板测试
前端:
- 删除 ProjectPermissions.vue 和 ProjectPermissionsModule.vue
- 重写 projectRoutePermissions.ts,改为基于接口级权限格式
- 更新 store/study.ts、router/index.ts、AuditLogs.vue、Projects.vue
中的权限 API 调用,从 fetchProjectRolePermissions 改为
fetchApiEndpointPermissions
- 清理 types/api.ts 中的旧模块级权限类型定义
- 新增 PermissionTemplateSelector.vue 组件
- 更新权限管理页面,移除模块级权限 tab
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-15 09:07:43 +08:00 |
|
Cheng Zhou
|
0cc87210af
|
权限系统:完成接口级权限系统第6阶段(测试与文档)
## 主要完成内容
### 1. 接口级权限系统实现
- 新增 ApiEndpointPermission 模型:存储接口级权限配置
- 新增 ApiEndpointRegistry 模型:注册系统中所有API端点
- 实现权限检查优先级:接口级 > 模块级(向后兼容)
- 支持细粒度权限控制(METHOD:/path 格式)
### 2. 权限配置系统
- 创建 api_permissions.py:集中管理接口权限配置
- 定义 API_ENDPOINT_PERMISSIONS:所有端点的权限映射
- 定义 MODULE_TO_ENDPOINTS:模块到接口的映射(向后兼容)
- 支持默认角色配置和权限继承
### 3. 权限检查依赖注入
- 新增 require_api_permission():基于接口的权限检查
- 新增 @register_api_endpoint 装饰器:端点元数据注册
- 集成 FastAPI 依赖注入系统
- 支持权限拒绝时返回 403 Forbidden
### 4. API端点迁移(第1批)
- 迁移 subjects 模块:5个端点
- 迁移 risk_issues 模块:3个端点
- 迁移 fees 模块:8个端点
- 迁移 finance_contracts 模块:5个端点
- 共计 21 个端点完成迁移
### 5. 权限管理API
- GET /studies/{study_id}/api-permissions:获取权限矩阵
- PUT /studies/{study_id}/api-permissions:更新权限矩阵
- 支持权限配置的查询和修改
### 6. 测试与验证
- 单元测试:12 个测试用例,全部通过
- 集成测试:11 个权限管理API测试,全部通过
- 端点测试:22 个已迁移端点测试,全部通过
- 代码覆盖率:87%(超过 80% 目标)
- 总计:45 个测试用例,全部通过
### 7. 文档
- TESTING_SUMMARY.md:详细的测试结果总结
- IMPLEMENTATION_SUMMARY.md:实现细节文档
- TESTING_GUIDE.md:测试指南
## 技术亮点
1. **向后兼容性**:保留模块级权限,接口级权限优先
2. **灵活的权限配置**:支持默认角色和自定义权限
3. **细粒度控制**:支持跨模块数据访问权限
4. **完整的测试覆盖**:单元测试、集成测试、端点测试
5. **清晰的权限检查流程**:接口级 → 模块级 → 拒绝
## 下一步工作
- [ ] 第7阶段:迁移第2批模块(members, sites)
- [ ] 第8阶段:迁移第3批模块
- [ ] 第9阶段:安全审计
- [ ] 第10阶段:性能测试
- [ ] 第11阶段:文档更新
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
2026-05-13 15:18:02 +08:00 |
|
Cheng Zhou
|
89cecce6b5
|
权限管理:新增医学审核项目角色
新增 MEDICAL_REVIEW 项目角色,界面显示为医学审核,并通过 Alembic 迁移扩展 user_role 枚举。
为医学审核配置独立默认权限:项目总览、参与者、风险问题、监查稽查、FAQ、共享库按医学审核职责开放,不再复制 PV 默认权限。
同步前后端类型、项目成员角色下拉、权限矩阵展示、文件分发角色兜底和用户协议文案,并补充权限矩阵回归测试。
|
2026-05-13 09:25:37 +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
|
6e90370a5f
|
移除特殊费用模块
|
2026-05-12 10:15:18 +08:00 |
|
Cheng Zhou
|
917ab7ccf1
|
feat: refine subject visits and project workflows
Add early termination visit workflow with ordering, non-applicable visit handling, visit window display, and medication adherence support.
Extend monitoring visit issue template fields, site scoping, setup draft project info handling, login security UI, attachment behavior, and related tests/migrations.
|
2026-05-09 17:10:34 +08:00 |
|
Cheng Zhou
|
74feca4467
|
feat: harden auth and study workflows
- replace plaintext login and unlock requests with RSA-OAEP/AES-GCM encrypted payloads
- add login challenge replay protection, production RSA key validation, and auth tests
- wire compose to environment-driven dev/prod settings without committing local secrets
- update setup-config smoke scripts and Postman docs for encrypted login
- add visit schedule migrations/tests and update study/subject setup workflows
|
2026-05-08 22:16:43 +08:00 |
|
Cheng Zhou
|
0cd03eefa8
|
立项配置版本管理优化(回滚逻辑、UI、下载功能)
|
2026-03-04 14:49:59 +08:00 |
|
Cheng Zhou
|
9b36a42e6f
|
参与者管理- PD模块内容补充
|
2026-02-28 14:33:57 +08:00 |
|
Cheng Zhou
|
af0c1b4b7d
|
补充监查访视问题模块内容、翻页功能UI统一
|
2026-02-28 09:51:13 +08:00 |
|
Cheng Zhou
|
db2d38edbc
|
立项配置数据入库、审计日志数据入库、编辑页UI界面美化、设备管理内容补充、审计日志显示优化
|
2026-02-27 16:16:26 +08:00 |
|
Cheng Zhou
|
8f3f717e48
|
立项配置页初步优化
|
2026-02-24 16:53:22 +08:00 |
|
Cheng Zhou
|
737f84bf54
|
未知(继上次中断)
|
2026-02-04 10:52:34 +08:00 |
|
Cheng Zhou
|
8e258d21a7
|
chore: stop tracking frontend node_modules
|
2026-01-20 08:52:54 +08:00 |
|
Cheng Zhou
|
7fdcfdaadd
|
管理后台前后端逻辑、UI美化
|
2026-01-16 13:50:08 +08:00 |
|
Cheng Zhou
|
05c1f9579a
|
启动与授权-初步优化
|
2026-01-15 11:25:13 +08:00 |
|
Cheng Zhou
|
4fc5f0ee9b
|
立项与伦理-初步优化,新增.env
|
2026-01-14 15:33:52 +08:00 |
|
Cheng Zhou
|
f9ef5c109f
|
文件版本管理-初步优化
|
2026-01-14 11:35:37 +08:00 |
|
Cheng Zhou
|
ef1e67218c
|
药品流向管理内容优化-初步
|
2026-01-13 19:42:28 +08:00 |
|
Cheng Zhou
|
1db36f40b0
|
费用管理内容优化-初步
|
2026-01-13 16:49:55 +08:00 |
|
Cheng Zhou
|
b3cd8e03f2
|
项目概览、参与者管理初步优化(未接入真实数据)
|
2026-01-13 10:10:28 +08:00 |
|
Cheng Zhou
|
9021c7fe2b
|
信息架构/菜单框架大重构-20260109
|
2026-01-09 11:19:04 +08:00 |
|
Cheng Zhou
|
0c1fc49f17
|
细节优化——1
|
2025-12-30 14:07:57 +08:00 |
|
Cheng Zhou
|
7c9befc3c9
|
优化“知识库模块“--基本完善
|
2025-12-26 14:07:28 +08:00 |
|
Cheng Zhou
|
6ddf9901a0
|
新增用户注册功能
|
2025-12-22 21:19:48 +08:00 |
|
Cheng Zhou
|
b475d4f763
|
清除“Task”模块
|
2025-12-19 11:02:21 +08:00 |
|
Cheng Zhou
|
7137665410
|
修复前后端显示异常问题(受试者、中心、负责人、日期等)
|
2025-12-18 22:09:28 +08:00 |
|
Cheng Zhou
|
a54d7faf19
|
Step 11:百问百答(FAQ / Knowledge Base)
|
2025-12-16 19:50:44 +08:00 |
|
Cheng Zhou
|
156e02ff3a
|
Step 10:费用管理
|
2025-12-16 19:35:26 +08:00 |
|
Cheng Zhou
|
882fcb0963
|
Step 9:药品管理(IMP)
|
2025-12-16 19:26:45 +08:00 |
|
Cheng Zhou
|
566ebdf749
|
Step 8:数据管理(Queries + SDV/SDR 进度)
|
2025-12-16 19:16:50 +08:00 |
|
Cheng Zhou
|
f19faf1a1a
|
Step 7:AE + 风险/问题管理(PV)
|
2025-12-16 17:55:53 +08:00 |
|
Cheng Zhou
|
c77b20f932
|
Step 6:受试者(Subject)+ 访视(Visit)+ 随访进度
|
2025-12-16 17:43:11 +08:00 |
|
Cheng Zhou
|
a9e15faedc
|
Step 5:里程碑与任务(伦理/启动会进度)
|
2025-12-16 17:18:26 +08:00 |
|
Cheng Zhou
|
31892247bf
|
Step 4:评论 / 附件 / 审计日志
|
2025-12-16 17:02:11 +08:00 |
|
Cheng Zhou
|
f3692e1145
|
Step 3:Study / Site / StudyMember + 项目权限
|
2025-12-16 16:42:42 +08:00 |
|
Cheng Zhou
|
223d445a94
|
refactor: improve code structure and optimize key functions
|
2025-12-16 15:55:08 +08:00 |
|