(轉)RBAC權限表的設計

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

 

當用戶量很是多的時候,逐一的給用戶受權角色是一件很痛苦的事情,因而引出組的概念。用戶擁有的全部權限,就是用戶我的擁有的權限與該用戶所在用戶組擁有的權限之和。設計

 

 

OK,用戶到角色的好理解,接下來看權限blog

 

權限表現成什麼?對功能模塊的操做,對上傳文件的刪改,菜單的訪問,甚至頁面上某個按鈕、某個圖片的可見性控制,均可屬於權限的範疇。有些權限設計,會把功能操做做爲一類,而把文件、菜單、頁面元素等做爲另外一類,這樣構成「用戶-角色-權限-資源」的受權模型。圖片

操做的權限:資源

功能,credget

菜單的訪問sed

頁面按鈕的點擊權限

內容:im

圖片的可見性qq

菜單的可見

按鈕的可見

 

這些都是基本的權限。

powerdesigen設計圖以下:


權限表與權限菜單關聯表、權限菜單關聯表與菜單表都是一對一的關係。(文件、頁面權限點、功能操做等同理)。也就是每添加一個菜單,就得同時往這三個表中各插入一條記錄。這樣,能夠不須要權限菜單關聯表,讓權限表與菜單表直接關聯,此時,須在權限表中新增一列用來保存菜單的ID,權限表經過「權限類型」和這個ID來區分是種類型下的哪條記錄。

 

 

權限表和功能操做表多對多的關係。

請留意權限表中有一列「權限類型」,咱們根據它的取值來區分是哪一類權限,如「MENU」表示菜單的訪問權限、「OPERATION」表示功能模塊的操做權限、「FILE」表示文件的修改權限、「ELEMENT」表示頁面元素的可見性控制等。

 

總的設計圖:

實際項目中咱們涉及到的權限。

菜單權限,按鈕操做性等

 

參考文獻:

http://blog.csdn.net/painsonline/article/details/7183613/

轉自:http://blog.csdn.net/qq383264679/article/details/51745522

相關文章
相關標籤/搜索