1.RBAC概念和原理
RBAC:全稱叫做Role-Based Access Control,中文翻譯叫做基於角色的訪問控制。其主要的作用是實現項目的權限控制。
效果:讓不同的管理員,能夠訪問的頁面不一樣。比如運營人員 只能看到運營相關模塊。財務人員只能看到財務相關模塊。
傳統權限管理:
RBAC權限管理:
RBAC權限管理:
新增管理員,只需要指定角色,即可擁有對應的權限。
2.數據表設計:
基本數據表:管理員表、角色表、權限表
對應關系:管理員對應一個角色,一個角色對應多個權限。(一個管理員也可以對應多個角色)
對應關系的維護:
第一種:三表結構,在管理員表增加角色id字段,在角色表增加權限ids字段,最終三張表。
第二種:五表結構,新增一張管理員角色關聯表,新增一張角色權限關聯表。最終五張表。
查詢一個管理員擁有的權限:
先查詢管理員表,獲取到角色id
再查詢角色表,獲取到擁有的權限ids
最后根據權限ids查詢權限表,where id in(1,2,3)