RBAC用戶角色權限方案設計_第1頁
RBAC用戶角色權限方案設計_第2頁
RBAC用戶角色權限方案設計_第3頁
RBAC用戶角色權限方案設計_第4頁
RBAC用戶角色權限方案設計_第5頁
已閱讀5頁,還剩6頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、權限表協甌 nMSH捉限標識 YfiKCJiftK2(50)用尸角色去缺用 QlD NUMBER 掛色ID HUMEER 擴展RBAC用戶角色權限設計方案RBA(Role-Based Access Control,基于角色的訪問控制),就是用戶通過角色與權限進行關聯。簡單地說,一個用戶擁有若干角色,每一個角色擁有若干權限。這樣,就構造成“用戶 -角色-權限”的授權模型。在這種模型中,用戶與角色之間,角色與權限之間,一 般者是多對多的關系。(如下圖)用戶表用戶u財冠-用戶名(30)角色是什么?可以理解為一定數量的權限的集合,權限的載體。例如:一個論壇系統,“超級管理員”、“版主”都是角色。版主可

2、管理版內的帖子、可管理版內的用戶等,這些是權限。要給某個用戶授予這些權限,不需要直接將權限授予用戶,可將“版主”這個 角色賦予該用戶。當用戶的數量非常大時,要給系統每個用戶逐一授權(授角色),是件非常煩瑣的事情。這時,就需要給用戶分組,每個用戶組內有 多個用戶。除了可給用戶授權外,還可以給用戶組授權。這樣一來,用戶擁有的所有權限,就是用戶個人擁有的權限與該用戶所在用 戶組擁有的權限之和。(下圖為用戶組、用戶與角色三者的關聯關系)用戶組用,口油liN闍EER3用尸盥名稱VkECHikF.2 (50)僉用戶組名稱 mtER用戸辭與用戶尖廣叢用尸組TD2 Jfl.lMBER 用尸LD2 Nl.BER

3、 用2蛆諾色關聯族ffiPSgED IUWBER 角色JU MEER Fi; CI KEF EOLE用戶表甬色表圉尸卬im町囲用戶容 VAaGJttBC50)諸 fein KUWEEH殖色塔 VMiCKJlfiS GO)USER用戶角色關聯表用戸口 mJMBER 坤色ID TODER (昭;弓I入用尸齟)-角色在應用系統中,權限表現成什么?對功能模塊的操作,對上傳文件的刪改,菜單的訪問,甚至頁面上某個按鈕、某個圖片的可見性控 制,都可屬于權限的范疇。有些權限設計,會把功能操作作為一類,而把文件、菜單、頁面元素等作為另一類,這樣構成“用戶-權限-資源”的授權模型。而在做數據表建模時,可把功能操作

4、和資源統一管理,也就是都直接與權限表進行關聯,這樣可能更具便 捷性和易擴展性。(見下圖)闌瓦 mra aw“屯e血硼口圍曲I峯油法菲勰曲iT7HaiiraMrjm_oj_hi k _眇盯 “urgziroT肋d耳塡耳(oe) swotm艙咚T1R餐誌CosjmmA咸轡聊瞬(D9硏弟OfM零護蟄迅燧犁北詢黑宦HoniAia峯總創頂nam ai4#x tj無取皿衛肛劇海 naawfui d瑋莖邀匹加業腮眥(nU詢峯建栄率宴團瑩呦御!?抽科幗CII甫華舉殖興審舉潮般辣悵劃忑創曲(0功5TVHJ5WA懸規制笠(驗理堂業 分知耳 麵脫請蔓聲掙耳0|頂0科丄圈駕辜些里魚7H3Hil謨犬里蒐闕理亞uasiM

5、 to SSVIJIYA too刼陽毗OTMimoiWX 硼竜塗 舉空寅零尅兀宙逅峯甫運請留意權限表中有一列“權限類型”,我們根據它的取值來區分是哪一類權限,如“MEN”表示菜單的訪問權限、“ OPERATION表示功能模塊的操作權限、“ FILE”表示文件的修改權限、“ ELEMENT表示頁面元素的可見性控制等。這樣設計的好處有二。其一,不需要區分哪些是權限操作,哪些是資源,(實際上,有時候也不好區分,如菜單,把它理解為資源呢 還是功能模塊權限呢?)。其二,方便擴展,當系統要對新的東西進行權限控制時, 我只需要建立一個新的關聯表“權限 XX關聯表”, 并確定這類權限的權限類型字符串。這里要注

6、意的是,權限表與權限菜單關聯表、權限菜單關聯表與菜單表都是一對一的關系。(文件、頁面權限點、功能操作等同理)也就是每添加一個菜單,就得同時往這三個表中各插入一條記錄。這樣,可以不需要權限菜單關聯表,讓權限表與菜單表直接關聯, 此時,須在權限表中新增一列用來保存菜單的 ID,權限表通過“權限類型”和這個ID來區分是種類型下的哪條記錄。到這里,RBACX限模型的擴展模型的完整設計圖如下:用尸爼用戶細H碩倔k用PiS-g稱AEC靦2書心父用尸組畜稱NUMBER粟單表FK GUyGEOUFFK_G55DUF用戶爼身用戶矣朕轟用戸竝ng而丘云w云y角戶ED2HTOER 用P爼儲色蕪聯衷用戶組ID NUM

7、BER 角色衛 WUMBEK FK GU E JF USERFK GR Iffif R0L用戶丟用戶ID imi班F:uk用戶名 VARCHAB2130)NWER菜單ED 菜單3稱 菜單斑 父菜單BFl血ER VAKCHAR2 VAKCHAK2 (60) KUHBBR蟲面元索TTSijKD HI.IMBEK仙;克直元索褊珂VASCHW12 (50)文件表NMERkVARCHWC (5Q)文件ID究件若文件路徑(Fn ;FK PN MEF ttEJTUFK FEELE惟 KTFK PFF FILE權限ID NUMBEB 黑重ID HUMBER 權眼頁面丘素芙聯轟 權卩肛dWEEK 頁面元素ID

8、WEER PIIB HUMBER 文件ID HWIEER FK_PW_EEFMRIVIIH避 E_EEFjRIVf附F-馨人血打店呦權諾恿Mbhwee 取隈類型 VARCMAJt2 C50FK_UEF.U5EHFK_UR_EDLEFK KP REF FRIHLEGE用戶角邑羔聯表用戶LD NUMBER 兔色IU HUM EER 角色權限去聯表felD SUNBIR 叔EID NI.INBZR (圖:RE AC權限模型擴展5撫作編瑪 攔截UKI肅嫌 皺操世tncitAREt5C) VARCHM2 CSO) VARCAK2 0) NUMBERFK P0 KEF JRIYILEEjFK FtJ KE

9、F 曲ERmClN X./椰賺作關聯視枳FSir imim 操作ID MSER隨著系統的日益龐大,為了方便管理,可引入角色組對角色進行分類管理,跟用戶組不同,角色組不參與授權。例如:某電網系統的 權限管理模塊中,角色就是掛在區局下,而區局在這里可當作角色組,它不參于權限分配。另外,為方便上面各主表自身的管理與查 找,可采用樹型結構,如菜單樹、功能樹等,當然這些可不需要參于權限分配。以上,是從基本的RBAC莫型進行了擴展,具體的設計要根據項目業務的需要作調整。歡迎大家提出批評意見!這是我后面加的:具體實現的話,可通過表的關聯查詢得到, 根據用戶ID查詢到它擁有的角色, 再通過角色查詢到它所擁有的權限。例如,查詢某個用戶所有授權的菜單:select m.* from menu m where exists (select Xfrom privilege_me nu pm, privilegee pwhere pm.privileged = p.privilegedand p.privilege_type = MENUand pm.me nu_id = m.me nu_idand exists(select Xfrom role_privilege rpwhere r

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論