基于角色的權限設計
問題提出
- 做網際網路相關産品時,比較常見的就會遇到資料請求身份校驗問題,需要判斷目前使用者有沒有身份,該身份是否可以進行進一步的操作
- 雖說開始可以規定“特定的身份”表示加以判斷,但是當随着業務的拓展,用戶端的身份也會越來越多和複雜的互動關系
- 還有涉及到業務表的CRUD時,也就是操作權限,單獨設計可以,但是權限系統貌似分隔開,沒有有機的将這些校驗類型的進行統一進行管理
嘗試着進行設計
- 初探設計
- 改進設計
自行設計的缺陷
- 權限集合在一起,沒有層次,比較混亂
- 角色和權限關聯随意,沒有嚴謹的關聯關系
RABC(基于角色權限控制)的設計
- 基于角色的權限控制的核心是在使用者和權限之間引入了角色,意味着使用者和權限直接關聯被分開,通過使用者關聯角色、角色關聯權限的方式間接的來給使用者賦予權限。
- 加入角色的好處
- 使用者的身份更加明了,使用者歸屬感更強
- 角色和角色對應的權限更加清晰,便于調整使用者和權限之間的關系,隻需要将使用者的角色進行調整即可,靈活度比較高
權限設計拓展
- 使用者-角色-權限
- 使用者-組織-角色-權限
- 使用者-組織-崗位-角色-權限