issue 253 RBAC MVCUDE 與 SoD 切換決策鏈
這頁保留 #246 作為 RBAC 單一權威 issue、以及 #253 authority index 角色被 wiki 取代的 source。現行白話規則看 RBAC 授權權威與現況。
最終結論
RBAC 現行模型是 route → feature → grant,操作碼採 MVCUDE。角色只存在 grant,不應散在 code 裡;SystemAdmin bypass;SoD 則依功能落在 route、menu、page action 或 backend rule。
#253 原本是 GitHub issue 版規則與決議總表;wiki 上線後,[[規則權威去哪查]] 承接這個入口角色。
決策鏈
| 來源 | 內容 |
|---|---|
| #246 | 授權機制統整:MVCUDE、退役碼、SystemAdmin bypass、SoD 缺口。 |
| #253 | Authority Index:舊 issue 世界的規則索引入口。 |
| RBAC 授權權威與現況 | 已將 #246 穩定規則整理成 concept。 |
| 規則權威去哪查 | wiki 版規則入口,承接 #253 的查找角色。 |
現行 code 錨點
| 目的 | 錨點 |
|---|---|
| 後端授權 | ApiPermissionFilter.OnAuthorizationAsync |
| feature/op 定義 | FeaturePermission / FeatureAccessAttribute |
| menu 可見性 | MenuService.GetUserMenuAsync |
| 前端 action gate | usePermission |
| route 守衛 | auth.global.ts |
驗證錨點
| 驗證 | 結論 |
|---|---|
Verify-RbacRoleMatrix.cs | RBAC role matrix regression。 |
| RBAC migrations 301-306 / 316 / 319 | feature / role grant seed 與資料修補。 |
注意事項
- 這頁是 #246 的 source backing;不要與 RBAC 授權權威與現況 互相複製長篇規則。
- 查規則先走 wiki,查歷史決策/commit 再回 issue。