最近的工作是一個(gè)基礎(chǔ)設(shè)計(jì),打造一個(gè)基于RBAC和ACL的權(quán)限基礎(chǔ)組件。
這個(gè)基礎(chǔ)組件的特點(diǎn)是:同時(shí)混合了RBAC和ACL的認(rèn)證方式,也就是說(shuō)同時(shí)提供系統(tǒng)級(jí)別的授權(quán)(RBAC)和對(duì)象級(jí)別的授權(quán)(ACL)。
1. 表結(jié)構(gòu)說(shuō)明
1)組織單位(Organization)
組織單位作為基本結(jié)構(gòu)單位。在人員的組織結(jié)構(gòu)中,是用來(lái)表示組織結(jié)構(gòu)樹(shù)。(例如公司)
名稱(chēng)
|
定義
|
說(shuō)明
|
id
|
bigint
|
主鍵,組織結(jié)構(gòu)id
|
name
|
varchar
|
名稱(chēng)
|
dn
|
varchar
|
distinguish name
|
parentid
|
varchar
|
父組織單位的id
|
2) 用戶(User)
是最小的自然單位,無(wú)法再包括子節(jié)點(diǎn)。對(duì)應(yīng)自然人。(例如員工)
名稱(chēng)
|
定義
|
說(shuō)明
|
id
|
bigint
|
主鍵,用戶id
|
name
|
varchar
|
名稱(chēng)
|
password
|
varchar
|
密碼
|
dn
|
varchar
|
distinguish name
|
parentid
|
varchar
|
所屬的組織單位的id
|
3) 用戶組(Group)
包含了多個(gè)用戶的組(例如公司中的項(xiàng)目組)
名稱(chēng)
|
定義
|
說(shuō)明
|
id
|
bigint
|
主鍵,用戶組id
|
name
|
varchar
|
顯示名稱(chēng)
|
dn
|
varchar
|
distinguish name
|
parentid
|
varchar
|
所屬的組織單位的id
|
4) 屬性(Attributes)
用來(lái)記錄用戶、用戶組、組織單位的屬性。
名稱(chēng)
|
定義
|
說(shuō)明
|
id
|
bigint
|
主鍵,屬性id
|
ownerid
|
bigint
|
屬性的擁有者id
|
ownertype
|
varchar
|
屬性擁有者類(lèi)型:用戶、用戶組、組織單位
|
name
|
varchar
|
屬性名稱(chēng)
|
attribute
|
Text
|
屬性值
|
2. 關(guān)系說(shuō)明
1) 用戶組和組織單位:用戶組是可以用來(lái)分配權(quán)限,而組織單位只是一個(gè)用來(lái)容器,不能用來(lái)分配權(quán)限,可以對(duì)它做組策備應(yīng)用,組織簡(jiǎn)單一點(diǎn)說(shuō)像一個(gè)文件夾,用來(lái)規(guī)劃一個(gè)AD對(duì)象的。(比如一個(gè)公司可以擁有多個(gè)項(xiàng)目組,項(xiàng)目組是分配權(quán)限和資源的單位)
2) 用戶和用戶組: 是多對(duì)多的關(guān)系,同一個(gè)用戶可以隸屬于多個(gè)工作組,同一個(gè)工作組可以包含多個(gè)用戶。(比如某個(gè)員工可以同時(shí)為多個(gè)項(xiàng)目組工作)
3) 用戶和組織單位: 是一對(duì)一的關(guān)系,同一個(gè)用戶只能在某個(gè)組織單位中。比如一個(gè)員工可以同時(shí)為多個(gè)項(xiàng)目組(用戶組)工作,但是員工只能隸屬于一個(gè)公司
(夜露死苦)
posted on 2009-02-06 20:11
夜露死苦 閱讀(2210)
評(píng)論(3) 編輯 收藏