轉自:http://book.51cto.com/art/201205/340074.htm
在早期的企業信息化系統中,一般都是將權限的管理直接寫在代碼中,如果權限發生變化,就需要修改程序,而且有時候用戶的需求在不斷地發生變化,這給開發帶來了很大的麻煩,因此,針對所有的信息系統開發一個共同的權限管理系統將非常必要。隨着權限管理思想的發展,目前採用角色羣組的授權方式得到了廣泛的認同,大體思路就是:用戶可以靈活地定義角色羣組,然後定義每個角色羣組的權限,最後定義角色羣組的人員,這樣就可以相對靈活地滿足權限不斷變化的需求了。
不同的系統對於權限有不一樣的需求,有的系統希望能夠自定義角色羣組,有的系統希望能夠靈活地定義代碼中新增、修改、刪除等各種動作,這樣就能夠將動作和角色羣組聯繫起來,從而靈活地控制不同人的權限。比如管理員羣組,就可以設定擁有各種動作的權限,修改人員羣組就只設定擁有修改的權限,這樣如果修改人員羣組中的人根據要求權限要變大,就可以將此人放置在管理員羣組中,此人就直接擁有了管理員的權限;如果管理員羣組中的人權限要變小爲只有修改權限,則直接將此人從管理員羣組轉移到修改人員羣組中即可。
在瞭解了系統後,就可以做出一些Demo畫面了,比如可以自定義各種動作,如圖10.31所示。
圖10.31 可以自定義各種動作 |
圖10.32 自定義設定角色羣組中的人員 |
權限管理系統的用例圖如圖10.33所示。
圖10.33 權限管理系統的用例圖 |
通過對用例圖的分析可以知道,權限管理系統主要包括管理用戶、管理權限類別、管理角色羣組、管理角色羣組和人的對應關係、管理角色羣組和權限類別的對應關係等功能,並提煉出如下的業務規則:
一個用戶可以對應多個角色羣組。
一個角色羣組可以對應多個用戶。
一個角色羣組可以對應多個權限類別。
一個權限類別可以對應多個角色羣組。
新增、修改角色羣組、權限類別時,羣組名稱和權限類別名稱不能重複。
維護角色羣組的功能主要是描述在將用戶和角色羣組建立聯繫之前,需要先維護角色羣組的信息,包括角色名稱、角色說明,在實際的權限管理中,角色下面還可以有角色,本章只考慮最簡單的情況,即不存在角色嵌套。
實現該功能的畫面如圖10.34所示。
維護權限類別的功能主要是描述在將權限類別和角色羣組建立聯繫之前,需要首先維護權限類別的信息,包括權限類別名稱、權限類別說明。
實現該功能的畫面如圖10.35所示。
圖10.34 角色羣組管理畫面 |
圖10.35 權限類別管理畫面 |
管理角色羣組和人員對應關係的功能主要是描述在人員、角色羣組都建立之後,要建立角色羣組和人員的對應關係,即將人員放在某個角色羣組中。
實現該功能的畫面如圖10.36所示。
管理角色羣組和權限類別對應關係的功能主要是描述在權限類別、角色羣組都建立之後,要建立角色羣組和權限類別的對應關係,即某個角色羣組都包含哪些權限。
實現該功能的畫面如圖10.37所示。
圖10.36 人員與角色對應關係管理畫面 |
圖10.37 角色權限管理畫面 |