feat: yearly_targets 写权限收紧,12步冒烟全绿
This commit is contained in:
@@ -390,3 +390,68 @@ site-packages 里。**记入待办**,Phase 4 部署前或 Task 3 启动前评估
|
||||
| 20c0a1d | chore: backups/ 进 .gitignore(Task 2 收尾)(2026-05-20) |
|
||||
|
||||
**Task 2 完整收尾,Phase 2 Task 2 状态:✅ 完工。**
|
||||
|
||||
---
|
||||
|
||||
## 第十二章 yearly_targets 写权限收紧(2026-05-20)
|
||||
|
||||
**状态:✅ 完工。冒烟 12/12 全绿。**
|
||||
|
||||
### 12.1 任务来源
|
||||
|
||||
task brief 明确要求收紧 yearly_targets 表的写权限,是业务红线。
|
||||
|
||||
### 12.2 改动文件
|
||||
|
||||
| 文件 | 改动内容 |
|
||||
|------|----------|
|
||||
| `backend/app/api/yearly_targets.py` | 5处 `require_role` 参数修正 |
|
||||
| `backend/app/schemas/yearly_target.py` | `YearlyTargetUpdate` 改为部分字段可选(支持 PATCH 部分更新) |
|
||||
| `backend/scripts/smoke_yearly_targets_auth.py` | 新建,12步幂等冒烟脚本 |
|
||||
| `README.md` | 新增"角色权限表"节 |
|
||||
| `.clinerules` 5.5 | 新增 yearly_targets 写权限收紧说明 |
|
||||
| `logs/phase2_log.md` | 本章记录 |
|
||||
|
||||
### 12.3 权限矩阵最终状态
|
||||
|
||||
| 接口 | zhipianren | zebian | biandao |
|
||||
|------|-----------|--------|---------|
|
||||
| GET 列表/详情 | ✅ 200 | ✅ 200 | ✅ 200 |
|
||||
| POST 新增 | ✅ 201 | ✅ 201 | ❌ 403 |
|
||||
| PATCH 修改 | ✅ 200 | ✅ 200 | ❌ 403 |
|
||||
| DELETE 删除 | ✅ 204 | ❌ 403 | ❌ 403 |
|
||||
|
||||
### 12.4 GET 权限修改说明
|
||||
|
||||
GET 权限修改原本不在 task brief 范围,是 Plan 阶段自查发现并扩大的范围。
|
||||
|
||||
Opus 审 Plan 时同意纳入,理由:权限矩阵整体校正一次做完更合理。
|
||||
|
||||
此条在 Opus 审方案 v2 中明确记录,phase2_log 本章也写入此说明,不得糊涂带过。
|
||||
|
||||
### 12.5 冒烟实测记录
|
||||
|
||||
`backend/scripts/smoke_yearly_targets_auth.py`,12步结果:
|
||||
|
||||
| 步骤 | 场景 | 预期 | 结果 |
|
||||
|------|------|------|------|
|
||||
| 1 | zhipianren POST | 201 | ✅ |
|
||||
| 2 | zebian POST | 201 | ✅ |
|
||||
| 3 | biandao POST | 403 | ✅ |
|
||||
| 4 | 未登录 POST | 401 | ✅ |
|
||||
| 5 | zhipianren PATCH | 200 | ✅ |
|
||||
| 6 | zebian PATCH | 200 | ✅ |
|
||||
| 7 | biandao PATCH | 403 | ✅ |
|
||||
| 8 | zhipianren DELETE | 204 | ✅ |
|
||||
| 9 | zebian DELETE | 403 | ✅ |
|
||||
| 10 | biandao DELETE | 403 | ✅ |
|
||||
| 11 | biandao GET 列表 | 200 | ✅ |
|
||||
| 12 | zhipianren GET 列表 | 200 | ✅ |
|
||||
|
||||
**12/12 全部通过。**
|
||||
|
||||
### 12.6 测试账号保留
|
||||
|
||||
冒烟脚本末尾显式打印保留账号(供后续手动清理):
|
||||
- `test_zebian_smoke` (zebian)
|
||||
- `test_biandao_smoke` (biandao)
|
||||
|
||||
Reference in New Issue
Block a user