issue #75 RBAC 授權儲存完整性決策鏈

這頁保留 RBAC grant storage 的 source。它不是權限模型全景;全景見 RBAC 授權權威與現況

最終結論

tb_rbac_role_permission 需要唯一性約束與 idempotent seed,否則角色授權 UI / migration 重跑可能累積重複 grant,造成授權判斷與畫面數量不穩。

決策鏈

來源內容
#75指出 tb_rbac_role_permission 缺 UNIQUE 約束。
RBAC 授權權威與現況後續 RBAC 模型統整為 route → feature → grant,grant 儲存成為單一權威資料。

現行 code / DB 錨點

目的錨點
grant 儲存表tb_rbac_role_permission
role permission seedRBAC migrations 301-306 / 316 / 319
授權判斷ApiPermissionFilter.OnAuthorizationAsync
角色授權 UIEditRoleModal.vue

注意事項

  • 權限錯誤不一定是 code gate 錯;也可能是 grant 表資料重複或 seed 沒有 idempotent。
  • 調整權限 seed 時,要同時確認唯一約束與重跑結果。