Files
digital-psychology/docs/ECR/ECR-013A-admin-rbac.md
T
jackyu66gitandCursor b5a05941d9 feat(ECR-013A): Admin RBAC 实现并 Closed
角色权限、RequirePermission、/me permissions 与 migration 000015;
Reviewer Approve → Closed。Next:ECR-013B Contract Definition。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-07 17:19:45 +08:00

76 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ECR-013A
**Title:** Admin RBAC(角色 · 权限点 · API 强制鉴权)
**Status:** **Closed**
**Date:** 2026-08-07
**Approved:** 2026-08-07Human
**Coding Start Authorization:** 2026-08-07Human
**Closed:** 2026-08-07Reviewer Approve
**Parent:** WAVE0-FROZEN (`27f27a1`)
**Change Level: L2**(行为:管理员授权模型;栈与分层不变)
## Change
1. Active Feature Spec`.ai/product/feature-spec/ops-rbac.md`
2. Domain`AdminRole` · `AdminPermission``AdminAccount.role_id`
3. API 意图:`GET/PUT /api/v1/admin/roles*` · 扩展 `GET /me` permissions
4. 既有 admin 写路径挂 permission;缺权 403 + AuditLog
5. **contract_diff**`docs/CONTRACT_DIFF/ECR-013A.yaml`P0
6. **不含** UserStatus / 账户启停(ECR-013B
## Motivation
Ops-A 管理员权限扁平;进入多运营角色与 M1+ 前必须有可审计的最小权限模型。
## Scope
### Allowed
- 上列 Spec / Domain / API 意图 / BD Draft / AC(四类)
- feature-map §7 · TRACEABILITY · STATE · TASKarchitect
### ForbiddenNon-goals
- ECR-013B AccountLifecycle(另 Start Authorization
- 真支付 · UGC · Prompt · 兑换码 · Crisis · 完整角色编辑 UI(本切片 API-first + me 最小展示)
## Risk
| Risk | Mitigation |
|------|------------|
| 锁死全部管理员 | 种子 `super_admin` 不可删;bootstrap 保留 |
| 权限码膨胀 | 本切片冻结 catalog;新增须新 ECR |
| 与 Ops-B/C 路由遗漏挂权 | ENGINEERING_SPEC 列清单;integration 覆盖 grant/content |
## Acceptance Criteria
见 Spec `ops-rbac.md` L4AC-F-01..03 · AC-S-01..04 · AC-P-01 · AC-O-01..02(实现轮勾选)
契约 / 实现完成标准:
- [x] L0L4 填满
- [x] contract_diff 已交
- [x] BD Draft + HANDOFF
- [x] Human **Approve** ECR+BD + Coding Start Authorization
- [x] Migration + middleware + roles API + TEST_REPORT
- [x] Reviewer Approve → **Closed**
## Rollback
- down migration `000015` + 回退 permission middleware
## Risk Review
- Path: N/A
## Linked
- Feature Spec: `.ai/product/feature-spec/ops-rbac.md`
- PRODUCT_SPEC: `docs/PRODUCT_SPEC/ECR-013A-admin-rbac.md`
- ENGINEERING_SPEC: `docs/ENGINEERING_SPEC/ECR-013A-admin-rbac.md`
- BACKEND_DESIGN: `docs/BACKEND_DESIGN/BD-2026-013A-admin-rbac.md`
- CONTRACT_DIFF: `docs/CONTRACT_DIFF/ECR-013A.yaml`
- TEST_REPORT: `docs/TEST_REPORT/ECR-013A.md`
- CODE_REVIEW: `docs/CODE_REVIEW/ECR-013A.md`
- Parent: WAVE0-FROZEN