RBAC(Role-Based Access Control,基于角色的权限访问控制)—权限管理设计
生活随笔
收集整理的這篇文章主要介紹了
RBAC(Role-Based Access Control,基于角色的权限访问控制)—权限管理设计
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
RBAC模型的核心是在用戶和權限之間引入了角色的概念,將用戶和權限進行解耦,采用用戶確定角色,角色分配權限,進而間接達到給用戶分配角色的目的 這樣采用的方式優點在于 (1)降低管理成本——由于一個角色可以對應更多人員,則統一對角色進行權限分配管理而不是對人員直接進行權限的分配管理,可以減少管理上的成本和出錯概率,更加符合企業管理的方式; (2)權責分配明確——將用戶群分為明確的角色群體,對角色群體統一進行權限分配,明確客戶的權限及相對應的責任,相對于原來的“用戶——權限”的模型在權責進行了更細粒度的權責劃分規劃; (3)權責分配更謹慎——由于角色下的用戶一般為多人,則在分配權限時需要謹慎又明確的分配操作 圖片來自人人都是產品經理 確定RBAC的概念后,接下來確定下用戶和角色之間的關系: 確定用戶和角色的關系之前,首先明確用戶和角色的定義,用戶即數據庫中的實體,例如“胡凱”,“一個注冊的用戶賬號”等,而角色則是對一定數量權限的集合,是權限的表達載體,如操作系統中的“超級管理員,管理員,運營人員,開發人員等”。 用戶和角色之間存在兩種關系:多對一,多對多兩種關系;在現實生活中一般以多對多的關系為主,具體情況需要具體分析,假如一家公司的一位人員只對應一個角色時,則這時可以采用一對一的模型 從業務上分析: 多對一的模型 下圖中,一個人只有一個角色,但是一個角色可以對應多個用戶,如產品經理這個角色的用戶有張軒和徐峰兩人 多對多的模型 下圖中,一個人可以擁有不同的角色,統一個角色也可以對應不同的用戶,如徐峰不僅是產品經理,同樣也是python開發工程師,這樣用戶和角色的關系就進一步發展到了多對多的關系 從數據庫角度來分析: RBAC的模型可以采用下圖的數據庫模式,用戶表和用戶—角色關聯表通過用戶id建立關系,同時用戶-角色關聯表和角色表通過角色id建立關系,達到了用戶表和角色表之間的關系的建立;同理角色表和權限表之間通過角色權限關聯表建立起關系,到這一步,就可以看到用戶表和權限表通過角色表建立起了一種間接的關系 RBAC的數據庫模型
轉載于:https://www.cnblogs.com/seshine/p/8022855.html
總結
以上是生活随笔為你收集整理的RBAC(Role-Based Access Control,基于角色的权限访问控制)—权限管理设计的全部內容,希望文章能夠幫你解決所遇到的問題。