一个权限管理模块的设计(转载)
一 個用戶權限管理模塊的設計思路:
1. 權 限資源(功能資源)
系統的所有權限信息。權限具有上下級關系,是一個樹狀的結構。如下:
<!--[if !supportLists]-->u? <!--[endif]-->系統管理
<!--[if !supportLists]-->l? <!--[endif]-->單位管理
<!--[if !supportLists]-->u? <!--[endif]-->查看單位
<!--[if !supportLists]-->u? <!--[endif]-->添加單位
<!--[if !supportLists]-->u? <!--[endif]-->修改單位
<!--[if !supportLists]-->u? <!--[endif]-->刪除單位
?<!--[if !supportLists]-->l? <!--[endif]-->部門管理
<!--[if !supportLists]-->u? <!--[endif]-->查看部門
<!--[if !supportLists]-->u? <!--[endif]-->添加部門
<!--[if !supportLists]-->u? <!--[endif]-->修改單位
<!--[if !supportLists]-->u? <!--[endif]-->刪除單位
?
對于每個權限,又存在兩種情況:1可 訪問;2可授權,部分表中采用擁有類型做判斷(0可 訪問,1即可訪問也可授權)
?
2. 用 戶
系統的具體操作者,用戶可以自己擁有權限信息,可以歸屬于0~n個角色,可屬于0~n個組。他的權限集是自身具有的權限+所屬的各角色具有 的權限+所屬的各組具有的權限的合集。它與權限、角色、組之間的關系都是n對n的關系。
?
3. 角 色
為了對擁有相似權限的用戶進行分類管理,因此定義角色,例如:超級管理員,一般管理員、一般用戶等角色。在這里同時也讓角色具有上下級 關系,形成樹狀視圖,父級角色的權限是自身及它的所有子角色的權限的綜合。
?
4. 組
為了更好地管理用戶,對用戶進行分組歸類,簡稱為用戶分組。組也具有上下級關系,可以形成樹狀視圖。在實際應用中,我們知道,組也可以具有自 己的角色信息、 權限信息。
就好比是javaeye中的圈子,一個圈子可以擁有多個會員,同時一個會員也可 以加入多個圈子,對于不同的圈子又有不同的權限信息。(組的解釋:例如一個公司中,不同的部門即可 劃分不同的組來進行權限的分配)
?
針對以上描 述,結構關系如下:
?
整個模塊分為組權限管理、角色權限管理、用戶權限管理。
其中組權限管理:組權限 = 所屬角色的權限合集 + 組自身的權限。
角色權限管理:角色權限 = 角色自身權限。
用戶權限管理:用戶權限 = 所屬角色權限合集 + 所屬組權限合集 + 用戶自身權限。
?
注意:因為組和角色都具有上下級關系,所以下級的組或角色的權限只 能在自己的直屬上級的權限中選擇,下級的組或者角色的總的權限都不能大于直屬上級的總權限。
?
轉載于:https://www.cnblogs.com/sandea/p/3295273.html
總結
以上是生活随笔為你收集整理的一个权限管理模块的设计(转载)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浏览器显示XML文档
- 下一篇: [K/3Cloud]K3Cloud平台开