版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、擴(kuò)展RBAC用戶角色權(quán)限設(shè)計(jì)方案RBA(Role-Based Access Control,基于角色的訪問(wèn)控制),就是用戶通過(guò)角色與權(quán)限進(jìn)行關(guān)聯(lián)。簡(jiǎn)單地說(shuō),一個(gè)用戶擁有若干角色,每一個(gè)角色擁有若干權(quán)限。這樣,就構(gòu)造成“用戶 -角色-權(quán)限”的授權(quán)模型。在這種模型中,用戶與角色之間,角色與權(quán)限之間,一 般者是多對(duì)多的關(guān)系。(如下圖)用戶表權(quán)限表權(quán)眼W叩啞西<rk>1權(quán)限帝識(shí) YAKCHAK2 60)角色名用戶ID MEER <fkl> 嗎色H TOBER <£12>角色TD KUMBEK <fkl> 枚限TOBER角色是什么?可以理解為一定
2、數(shù)量的權(quán)限的集合,權(quán)限的載體。例如:一個(gè)論壇系統(tǒng),“超級(jí)管理員”、“版主”都是角色。版主可管理版內(nèi)的帖子、可管理版內(nèi)的用戶等,這些是權(quán)限。要給某個(gè)用戶授予這些權(quán)限,不需要直接將權(quán)限授予用戶,可將“版主”這個(gè) 角色賦予該用戶。當(dāng)用戶的數(shù)量非常大時(shí),要給系統(tǒng)每個(gè)用戶逐一授權(quán)(授角色),是件非常煩瑣的事情。這時(shí),就需要給用戶分組,每個(gè)用戶組內(nèi)有 多個(gè)用戶。除了可給用戶授權(quán)外,還可以給用戶組授權(quán)。這樣一來(lái),用戶擁有的所有權(quán)限,就是用戶個(gè)人擁有的權(quán)限與該用戶所在用 戶組擁有的權(quán)限之和。(下圖為用戶組、用戶與角色三者的關(guān)聯(lián)關(guān)系)用尸組用戶血NUMBER<pk>用尸組名稱VkRCHAJl2(50
3、)父用戶組名稱 MEER(的:引入用戶爼)在應(yīng)用系統(tǒng)中,權(quán)限表現(xiàn)成什么?對(duì)功能模塊的操作,對(duì)上傳文件的刪改,菜單的訪問(wèn),甚至頁(yè)面上某個(gè)按鈕、某個(gè)圖片的可見(jiàn)性控- 角色制,都可屬于權(quán)限的范疇。有些權(quán)限設(shè)計(jì),會(huì)把功能操作作為一類,而把文件、菜單、頁(yè)面元素等作為另一類,這樣構(gòu)成“用戶- 權(quán)限- 資源”的授權(quán)模型。而在做數(shù)據(jù)表建模時(shí),可把功能操作和資源統(tǒng)一管理,也就是都直接與權(quán)限表進(jìn)行關(guān)聯(lián),這樣可能更具便 捷性和易擴(kuò)展性。(見(jiàn)下圖)粟單表梵虹 KVHBERk>菜單名稱VWRCKAR2C30) 萊單 URL VARCKAR2C80) 父蘋車M IRIMBER頁(yè)面元索RUBBER頁(yè)面元素ID頁(yè)両元索
4、漏碼VABCHAKISO)<Bk>文件表文 DNLHBER文件名 VARCHAR2 (50) 文件輻徑VARCHXR2 (30)權(quán)限菜單關(guān)聯(lián)表PBirr NUMBER <£k2>菜單ID NUMBER <£kl>衩限頁(yè)面元索關(guān)聯(lián)表權(quán)限ID OMBER <fk2>頁(yè)面元素ID OMBER <£kl>權(quán)限文件關(guān)聯(lián)表權(quán)限ID NUMBER <fkl>文件ID NUMBER <£>2>I EH權(quán)限分類)請(qǐng)留意權(quán)限表中有一列“權(quán)限類型”,我們根據(jù)它的取值來(lái)區(qū)分是哪一類權(quán)限,如
5、“MEN”表示菜單的訪問(wèn)權(quán)限、“ OPERATION表示功能模塊的操作權(quán)限、“ FILE”表示文件的修改權(quán)限、“ ELEMENT表示頁(yè)面元素的可見(jiàn)性控制等。這樣設(shè)計(jì)的好處有二。其一,不需要區(qū)分哪些是權(quán)限操作,哪些是資源,(實(shí)際上,有時(shí)候也不好區(qū)分,如菜單,把它理解為資源呢還是功能模塊權(quán)限呢?)。其二,方便擴(kuò)展,當(dāng)系統(tǒng)要對(duì)新的東西進(jìn)行權(quán)限控制時(shí), 我只需要建立一個(gè)新的關(guān)聯(lián)表“權(quán)限 XX關(guān)聯(lián)表”, 并確定這類權(quán)限的權(quán)限類型字符串。這里要注意的是,權(quán)限表與權(quán)限菜單關(guān)聯(lián)表、 權(quán)限菜單關(guān)聯(lián)表與菜單表都是一對(duì)一的關(guān)系。 (文件、 頁(yè)面權(quán)限點(diǎn)、 功能操作等同理) 也就是每添加一個(gè)菜單,就得同時(shí)往這三個(gè)表中各
6、插入一條記錄。這樣,可以不需要權(quán)限菜單關(guān)聯(lián)表,讓權(quán)限表與菜單表直接關(guān)聯(lián), 此時(shí),須在權(quán)限表中新增一列用來(lái)保存菜單的 ID,權(quán)限表通過(guò)“權(quán)限類型”和這個(gè)ID來(lái)區(qū)分是種類型下的哪條記錄。到這里,RBA(權(quán)限模型的擴(kuò)展模型的完整設(shè)計(jì)圖如下:菜單表用P組IDNUMBER<pk>用尸組名稱VARCHAR2(50)父用尸組名稱NUMBER一用尸組FK GRGROUP用戶組與用戶關(guān)聯(lián)表用戶組IDZ HUMBER <fkl> 用戶 TD2 NUMBER <f2>FK<U_R IF JJSER用戶表用戶ID XWBER<pk>用戶名 VARCHAR2(30)
7、F USER用戶組角色關(guān)聯(lián)表用戶組ID NUMBER <fkl> 箱色I(xiàn)D HUMBER <fk2>FK GR RET ROLENUMBER<pk>VARCHAR2C30)FK URROLE用戶角色關(guān)聯(lián)表fflPlD MV1BER <fkl> 角色EE NUMBER <£k2>角色表菜幀 HWER<Dk>菜單名稱VARCHAR2 (30) 篥單IRL VARCHAR2 (80) 父菜單ID NUMBER頁(yè)面元索頁(yè)面元索IDNUMBER 5k貝面元索編瑪VAHCHAR2 ©0)FK PM REF MEKV
8、權(quán)限棄單關(guān)聯(lián)表權(quán)限ID NUMBER <£k2> 榮單ID 1IUMDER <fkl >文件表文用DNWEK文件名 VARCKM12(5O) 文件路徑VARCHkR2(80)FK FEELEMEMTF FILEFK PF校限頁(yè)面元素關(guān)聯(lián)轟權(quán)限ED NINBER <fk2> 頁(yè)擊兀親ID NUMBER. <fkl>權(quán)限ID NUMBER <fkl> 文件ID KVMBER <:竝FK_FM_RE 社"IVIIK企 E_REF_PRIVI礙JF 羽辻 7ILEGE /權(quán)服表權(quán)腋 DEMBER<pk>權(quán)
9、限類型VARCHKR2C50)角色權(quán)限關(guān)聯(lián)表角色I(xiàn)D NUMBER <£kl> 叔匣ID NUMBER <£k2>功能操作表操作名稱 操作編瑪 攔戡URI前綴 父操作ID、FK FO REF PRIVILEGE 丄 FK PO REFjfPERATION、 /KUMBER<pk>VARCKAR2 (50)VARCKAR2 ($0)VARCKAR2 (80) NUIMBER權(quán)限按作關(guān)聯(lián)表權(quán)限ID TOPER <fkl> 操作ID HUMBER <fk2>隨著系統(tǒng)的日益龐大,為了方便管理,可引入角色組對(duì)角色進(jìn)行分類管理
10、,跟用戶組不同,角色組不參與授權(quán)。例如:某電網(wǎng)系統(tǒng)的 權(quán)限管理模塊中,角色就是掛在區(qū)局下,而區(qū)局在這里可當(dāng)作角色組,它不參于權(quán)限分配。另外,為方便上面各主表自身的管理與查 找,可采用樹型結(jié)構(gòu),如菜單樹、功能樹等,當(dāng)然這些可不需要參于權(quán)限分配。以上,是從基本的RBAC莫型進(jìn)行了擴(kuò)展,具體的設(shè)計(jì)要根據(jù)項(xiàng)目業(yè)務(wù)的需要作調(diào)整。歡迎大家提出批評(píng)意見(jiàn)!這是我后面加的:具體實(shí)現(xiàn)的話, 可通過(guò)表的關(guān)聯(lián)查詢得到, 根據(jù)用戶 ID 查詢到它擁有的角色, 再通過(guò)角色查詢到它所擁有的權(quán)限。 例如, 查詢某個(gè)用戶所有授權(quán)的菜單: select m.* from menu mwhere exists (select 'X' from privilege_menu pm, privilegee p where pm.privilege_id = p.privilege_idand p.privilege_type = 'MENU'and pm.menu_id = m.menu_idand exists(select 'X'from role_privilege rpwh
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版跨境電商平臺(tái)傭金比例調(diào)整合同3篇
- 二零二五版?zhèn)€人教育貸款擔(dān)保合同模板3篇
- 二零二五年建筑裝修幫工雇傭合同2篇
- 二零二五版寄賣合同范本:藝術(shù)品寄售代理中介服務(wù)協(xié)議2篇
- 二零二五版辦公設(shè)備智能化升級(jí)改造合同5篇
- 二零二五版橋梁工程勞務(wù)分包合同模板6篇
- 二零二五版職工住房借款與社區(qū)文化活動(dòng)支持合同3篇
- 二零二五年度黃牛養(yǎng)殖與屠宰行業(yè)購(gòu)銷法律法規(guī)遵守合同3篇
- 二零二五年鋁藝門安裝與外觀設(shè)計(jì)承包合同3篇
- 二零二五年度電商代發(fā)貨及品牌授權(quán)合同2篇
- 大型活動(dòng)LED屏幕安全應(yīng)急預(yù)案
- 舞蹈課家長(zhǎng)會(huì)
- 2024年內(nèi)蒙古包頭市中考道德與法治試卷
- 湖南省長(zhǎng)沙市2024-2025學(xué)年高二上學(xué)期期中考試地理試卷(含答案)
- 自來(lái)水質(zhì)量提升技術(shù)方案
- 金色簡(jiǎn)約蛇年年終總結(jié)匯報(bào)模板
- 農(nóng)用地土壤環(huán)境質(zhì)量類別劃分技術(shù)指南(試行)(環(huán)辦土壤2017第97號(hào))
- 反向開(kāi)票政策解讀課件
- 工程周工作計(jì)劃
- 房地產(chǎn)銷售任務(wù)及激勵(lì)制度
- 六年級(jí)語(yǔ)文下冊(cè)14文言文二則《學(xué)弈》課件
評(píng)論
0/150
提交評(píng)論