




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、擴展RBAC用戶角色權限設計方案RBA(Role-Based Access Control,基于角色的訪問控制),就是用戶通過角色與權限進行關聯。簡單地說,一個用戶擁有若干角色,每一個角色擁有若干權限。這樣,就構造成“用戶 -角色-權限”的授權模型。在這種模型中,用戶與角色之間,角色與權限之間,一 般者是多對多的關系。(如下圖)用戶表權限表權眼W叩啞西<rk>1權限帝識 YAKCHAK2 60)角色名用戶ID MEER <fkl> 嗎色H TOBER <£12>角色TD KUMBEK <fkl> 枚限TOBER角色是什么?可以理解為一定
2、數量的權限的集合,權限的載體。例如:一個論壇系統,“超級管理員”、“版主”都是角色。版主可管理版內的帖子、可管理版內的用戶等,這些是權限。要給某個用戶授予這些權限,不需要直接將權限授予用戶,可將“版主”這個 角色賦予該用戶。當用戶的數量非常大時,要給系統每個用戶逐一授權(授角色),是件非常煩瑣的事情。這時,就需要給用戶分組,每個用戶組內有 多個用戶。除了可給用戶授權外,還可以給用戶組授權。這樣一來,用戶擁有的所有權限,就是用戶個人擁有的權限與該用戶所在用 戶組擁有的權限之和。(下圖為用戶組、用戶與角色三者的關聯關系)用尸組用戶血NUMBER<pk>用尸組名稱VkRCHAJl2(50
3、)父用戶組名稱 MEER(的:引入用戶爼)在應用系統中,權限表現成什么?對功能模塊的操作,對上傳文件的刪改,菜單的訪問,甚至頁面上某個按鈕、某個圖片的可見性控- 角色制,都可屬于權限的范疇。有些權限設計,會把功能操作作為一類,而把文件、菜單、頁面元素等作為另一類,這樣構成“用戶- 權限- 資源”的授權模型。而在做數據表建模時,可把功能操作和資源統一管理,也就是都直接與權限表進行關聯,這樣可能更具便 捷性和易擴展性。(見下圖)粟單表梵虹 KVHBERk>菜單名稱VWRCKAR2C30) 萊單 URL VARCKAR2C80) 父蘋車M IRIMBER頁面元索RUBBER頁面元素ID頁両元索
4、漏碼VABCHAKISO)<Bk>文件表文 DNLHBER文件名 VARCHAR2 (50) 文件輻徑VARCHXR2 (30)權限菜單關聯表PBirr NUMBER <£k2>菜單ID NUMBER <£kl>衩限頁面元索關聯表權限ID OMBER <fk2>頁面元素ID OMBER <£kl>權限文件關聯表權限ID NUMBER <fkl>文件ID NUMBER <£>2>I EH權限分類)請留意權限表中有一列“權限類型”,我們根據它的取值來區分是哪一類權限,如
5、“MEN”表示菜單的訪問權限、“ OPERATION表示功能模塊的操作權限、“ FILE”表示文件的修改權限、“ ELEMENT表示頁面元素的可見性控制等。這樣設計的好處有二。其一,不需要區分哪些是權限操作,哪些是資源,(實際上,有時候也不好區分,如菜單,把它理解為資源呢還是功能模塊權限呢?)。其二,方便擴展,當系統要對新的東西進行權限控制時, 我只需要建立一個新的關聯表“權限 XX關聯表”, 并確定這類權限的權限類型字符串。這里要注意的是,權限表與權限菜單關聯表、 權限菜單關聯表與菜單表都是一對一的關系。 (文件、 頁面權限點、 功能操作等同理) 也就是每添加一個菜單,就得同時往這三個表中各
6、插入一條記錄。這樣,可以不需要權限菜單關聯表,讓權限表與菜單表直接關聯, 此時,須在權限表中新增一列用來保存菜單的 ID,權限表通過“權限類型”和這個ID來區分是種類型下的哪條記錄。到這里,RBA(權限模型的擴展模型的完整設計圖如下:菜單表用P組IDNUMBER<pk>用尸組名稱VARCHAR2(50)父用尸組名稱NUMBER一用尸組FK GRGROUP用戶組與用戶關聯表用戶組IDZ HUMBER <fkl> 用戶 TD2 NUMBER <f2>FK<U_R IF JJSER用戶表用戶ID XWBER<pk>用戶名 VARCHAR2(30)
7、F USER用戶組角色關聯表用戶組ID NUMBER <fkl> 箱色ID HUMBER <fk2>FK GR RET ROLENUMBER<pk>VARCHAR2C30)FK URROLE用戶角色關聯表fflPlD MV1BER <fkl> 角色EE NUMBER <£k2>角色表菜幀 HWER<Dk>菜單名稱VARCHAR2 (30) 篥單IRL VARCHAR2 (80) 父菜單ID NUMBER頁面元索頁面元索IDNUMBER 5k貝面元索編瑪VAHCHAR2 ©0)FK PM REF MEKV
8、權限棄單關聯表權限ID NUMBER <£k2> 榮單ID 1IUMDER <fkl >文件表文用DNWEK文件名 VARCKM12(5O) 文件路徑VARCHkR2(80)FK FEELEMEMTF FILEFK PF校限頁面元素關聯轟權限ED NINBER <fk2> 頁擊兀親ID NUMBER. <fkl>權限ID NUMBER <fkl> 文件ID KVMBER <:竝FK_FM_RE 社"IVIIK企 E_REF_PRIVI礙JF 羽辻 7ILEGE /權服表權腋 DEMBER<pk>權
9、限類型VARCHKR2C50)角色權限關聯表角色ID NUMBER <£kl> 叔匣ID NUMBER <£k2>功能操作表操作名稱 操作編瑪 攔戡URI前綴 父操作ID、FK FO REF PRIVILEGE 丄 FK PO REFjfPERATION、 /KUMBER<pk>VARCKAR2 (50)VARCKAR2 ($0)VARCKAR2 (80) NUIMBER權限按作關聯表權限ID TOPER <fkl> 操作ID HUMBER <fk2>隨著系統的日益龐大,為了方便管理,可引入角色組對角色進行分類管理
10、,跟用戶組不同,角色組不參與授權。例如:某電網系統的 權限管理模塊中,角色就是掛在區局下,而區局在這里可當作角色組,它不參于權限分配。另外,為方便上面各主表自身的管理與查 找,可采用樹型結構,如菜單樹、功能樹等,當然這些可不需要參于權限分配。以上,是從基本的RBAC莫型進行了擴展,具體的設計要根據項目業務的需要作調整。歡迎大家提出批評意見!這是我后面加的:具體實現的話, 可通過表的關聯查詢得到, 根據用戶 ID 查詢到它擁有的角色, 再通過角色查詢到它所擁有的權限。 例如, 查詢某個用戶所有授權的菜單: 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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國應用商店貨幣化行業市場現狀供需分析及投資評估規劃分析研究報告
- 2025-2030中國小麥蛋白產業供應規模與發展趨勢預測分析研究報告版
- 獨家代理銷售協議合同
- 借車協議書車輛租賃合同書范例
- 2025-2030年中國雙花行業深度研究分析報告
- 2025-2030年中國吊櫥項目投資可行性研究分析報告
- 2025-2030年中國61840軸承項目投資可行性研究分析報告
- 2025年中國螺絲刀產業深度調研與投資趨勢研究報告
- 2025-2030年中國農肥行業深度研究分析報告
- 2024年全球及中國自動血壓脈搏測試儀行業頭部企業市場占有率及排名調研報告
- 三方安全管理協議書模板
- 幼兒園大班古詩《春夜喜雨》課件
- 2023-2024學年河南省鄭州外國語中學八年級(下)期中數學試卷(含解析)
- 人體發育學模考試題與參考答案
- 制造執行系統集成
- 子宮內膜病變的診治課件
- 新形態一體化教材
- 室內設計原木風格研究現狀
- MOOC 涂附磨具-河南工業大學 中國大學慕課答案
- 車間班組長崗位競聘述職報告課件模板
- 山西省太原市2023-2024學年八年級下學期期中數學試題(無答案)
評論
0/150
提交評論