🎋 竹子日誌

光是權限管理系統就很複雜

其實不管什麼網站,只要有營運需求,管他是 B2B 還是 B2B2C,都會有建「後台」的需要,這個後台是用來營運管理前台的。

但通常後台都會需要一個權限管理的功能,而軟體業界都會習慣用「RBAC」的權限管理架構。設計上普遍會包含 User, Role, Permission 三大區塊,並且包含登入功能。

初步是這樣規劃沒錯,但其實比想像中複雜⋯⋯

但一個 RBAC 有多重解釋,並不是標準答案。因為問題不是原本想的那麼簡單,在管理架構中不只如此。

角色權限賦予只要有權限就可以任意賦予嗎?答案顯然是不行的,所以需要檢查它自身角色與所屬的權限大小來決定他真正可以賦予給別人的權限大小,正是權力下放的概念。

即使你擁有各種權限設定的能力,仍然不能任意賦予各種權限給跨部門的人,所以還需要組織管理的邏輯,去限制不同部門之間的權限控制,這就是組織管理功能。

權限本身也有層級關係,比方說你必須有「閱讀權限」才能有「編輯權限」,也必須有「編輯權限」才能有「刪除權限」。權限本身是有一定程度的關聯性和綁定,並不是完全平行關係。甚至有時候依照業務邏輯還有可能出現各種獨特的行為。

雖然前面提出了各種規劃中發現的問題,但終究是鳳毛麟角,有的甚至難以文字表達。當然,實際要寫進 Spec 跟後端溝通時的困難就是另一個故事了⋯⋯

正所謂隔行如隔山,不同的專業項目需要很多眉角,我只是借助工程師的邏輯能力去快速掌握這部分知識點。

這只是一個外行人的分享,如果有專業的產品大大可以補充就太好了。

留言