RBAC-基於角色的權限管理

RBAC權限管理

RBAC(Role-Based Access Control,基於角色的訪問控制),就是用戶經過角色與權限進行關聯。簡單地說,一個用戶擁有若干角色,每個角色擁有若干權限。這樣,就構形成「用戶-角色-權限」的受權模型。在這種模型中,用戶與角色之間,角色與權限之間,通常是多對多的關係。laravel

RBAC

上圖數據庫模型分析:git

  • permission_role.permission_id是表permissions外鍵。
  • permission_role.role_id是表roles外鍵。
  • role_user.role_id是表roles外鍵。
  • role_user.permission_id是表users外鍵。

角色能夠理解爲必定數量的權限的集合,權限的載體。例如:一個論壇系統,「超級管理員」、「版主」都是角色。版主可管理版內的帖子、可管理版內的用戶等,這些是權限。要給某個用戶授予這些權限,不須要直接將權限授予用戶,可將「版主」這個角色賦予該用戶。github

RBAC角色管理模型

image

應用實戰

相關文章
相關標籤/搜索