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