在 CRUD-based 的系統上附加 RBAC 的權限約束
開發到後面發現的,當時討論需求時使用者會希望某些角色能編輯的範圍要到哪邊,就開始發現 RBAC 其實還是有一些侷限,所以還是需要加入一些額外的輔助邏輯修補模型不足的地方。
當時的需求表述僅只有可以閱覽/編輯 兩種,這時候就是運用一些通靈能力還有和 PM 作進一步地確認,讓 CRUD 都能釐清
R: read => 會再細分成 「列表」、「顯示單筆資料」兩種
C: create => 建立資料
U: update => 編輯
D: delete => 刪除
編輯和刪除可以再確認是不是所有角色都一樣,如果有角色差異的話會再多切一個刪除權限出來,如果都一致的話就切足夠的權限即可
大原則是「剛剛好就好」,因為不管怎麼切,需求調整之後一定會產生變動,如果不希望這部份一直調整的話也可以一開始就跟 PM 確認清楚
開發過權限系統之後意識到大家心目中的系統圖像都長得不太一樣,想要一招打天下真的蠻難的,就老老實實地確認和釐清就好