



版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 管理信息系統(tǒng)的權(quán)限設(shè)計(jì)和實(shí)現(xiàn) 李曉征Summary:基于角色的訪問控制是一種通常用于指派用戶適當(dāng)角色的模型,它針對企業(yè)或組織的策略,授權(quán)用戶在管理信息系統(tǒng)(MIS)的使用權(quán)限。本文描述用戶(User)-角色(Role)-權(quán)限(Permission)在管理信息系統(tǒng)權(quán)限管理的要素,講解關(guān)于基于角色的訪問控制(RBAC)模型,并以C#.NET代碼為實(shí)例,提出實(shí)現(xiàn)模型的方法。Keys:RBAC 角色 權(quán)限 C#.NET中圖分類號:G203 :B :1673-8454(2009)19-0042-02一、RBAC基本概念和模型基于角色的訪問控制(Role-based Access Control,簡稱R
2、BAC)已經(jīng)成為解決管理信息系統(tǒng)的統(tǒng)一資源訪問控制的有效方法,它替代了傳統(tǒng)的自主型訪問控制和強(qiáng)制訪問控制方法。在RBAC中,權(quán)限與角色,角色與用戶之間通過聯(lián)結(jié)的關(guān)系,從而產(chǎn)生用戶的權(quán)限。這極大地簡化了系統(tǒng)的管理權(quán)限。RBAC兩大特征是:減小授權(quán)管理的復(fù)雜性,降低管理開銷;靈活地支持企業(yè)或組織的安全策略,并對系統(tǒng)的變化有很大的伸縮性。信息系統(tǒng)中的用戶、角色、權(quán)限及系統(tǒng)資源的基本概念如下:(1)用戶(User):與角色相關(guān),用戶要擁有對某種資源的權(quán)限,必須通過角色去關(guān)聯(lián)。(2)角色(Role):可以操作某些資源的權(quán)限集合。通過給用戶賦予不同的角色,對成員的多職能進(jìn)行表達(dá),提供約束用戶不同權(quán)限范圍的
3、依據(jù)。角色作為用戶與權(quán)限的代理層,定義權(quán)限和用戶的關(guān)系,所有的授權(quán)應(yīng)該給予角色而不是直接給用戶。(3)權(quán)限(Permission):是指與資源相聯(lián)系的權(quán)限。權(quán)限是綁定在特定的資源實(shí)例上的,比如在內(nèi)容管理系統(tǒng)(CMS),有“文章的發(fā)布權(quán)限”,這就表明,該權(quán)限是一個(gè)發(fā)布權(quán)限,而且是針對文章這種資源的一種發(fā)布權(quán)限。權(quán)限包括系統(tǒng)定義權(quán)限和用戶自定義權(quán)限。用戶自定義權(quán)限之間可以指定排斥和包含關(guān)系(如:發(fā)布、修改、刪除、管理四個(gè)權(quán)限,管理權(quán)限包含前三種權(quán)限)。(4)資源(Resource):就是信息系統(tǒng)的資源,比如新聞、文檔等各種可以被提供給用戶訪問的對象。系統(tǒng)資源是一個(gè)樹形的結(jié)構(gòu),任何一個(gè)節(jié)點(diǎn)都是一個(gè)資
4、源,一個(gè)資源節(jié)點(diǎn)可以與若干指定權(quán)限類別相關(guān),可定義是否將其權(quán)限應(yīng)用于子節(jié)點(diǎn)。如圖1所示,通過一定的約束關(guān)系及用戶的角色定義、角色的權(quán)限賦值,實(shí)現(xiàn)用戶對數(shù)據(jù)和資源的訪問權(quán)限。一個(gè)用戶是一個(gè)人或一個(gè)自治的代理(agent),一個(gè)角色是一項(xiàng)在組織中的工作功能或工作頭銜。而權(quán)限是對系統(tǒng)中一個(gè)或多個(gè)對象(object)的特定訪問模式的許可或執(zhí)行某些動(dòng)作的特權(quán)。如果xy,那么角色x就繼承了角色y的權(quán)限,x的成員也意味著是y的成員。每次會(huì)話(session)把一個(gè)用戶和可能的許多角色聯(lián)系起來。一個(gè)用戶可以有一個(gè)或多個(gè)角色,一個(gè)角色可以有許多用戶。類似地,一個(gè)角色可以有多個(gè)權(quán)限,同一個(gè)權(quán)限可以被指派給多個(gè)角色
5、。每個(gè)會(huì)話把一個(gè)用戶和可能的許多角色聯(lián)系起來,一個(gè)用戶在激發(fā)他或她所屬角色的某些子集時(shí),建立了一個(gè)會(huì)話,用戶可用的權(quán)限是當(dāng)前會(huì)話激發(fā)的所有角色權(quán)限的并集。每個(gè)會(huì)話和單個(gè)用戶關(guān)聯(lián),這個(gè)關(guān)聯(lián)在會(huì)話的生命期間保持常數(shù)。一個(gè)用戶在同一時(shí)間可以打開多個(gè)會(huì)話,每個(gè)會(huì)話可以有不同的活動(dòng)角色。會(huì)話的概念相當(dāng)于傳統(tǒng)的訪問控制中主體(subject)的標(biāo)記。二、RBAC模型的數(shù)據(jù)庫表設(shè)計(jì)通過對RBAC模型的分析,可以知道RBAC引入了角色的概念,使得用戶和權(quán)限分離,從而減少了權(quán)限管理的復(fù)雜度,可更加靈活地支持安全策略。同時(shí),我們引入資源(Resource)概念,可以對權(quán)限進(jìn)行分門別類,一個(gè)資源可以對應(yīng)多個(gè)權(quán)限。在
6、數(shù)據(jù)庫表設(shè)計(jì)中,我們總共引入了六個(gè)表(如圖2 所示E-R圖)和一個(gè)視圖,分別是用戶表、角色表、權(quán)限表、資源表、用戶-角色表、角色-權(quán)限表及用戶-角色-權(quán)限視圖。(1)用戶表(User):保存用戶基本信息,包括用戶編號(主鍵pkid),用戶名稱,用戶密碼,用戶所在部門等其他信息。(2)角色表(Role):保存角色編號(主鍵pkid),角色名稱,角色說明等信息。(3)權(quán)限表(Permission):保存權(quán)限編號(主鍵pkid),權(quán)限名稱,權(quán)限說明,權(quán)限所在資源等信息。(4)資源表(Resource):保存資源名稱(主鍵pkid),資源名稱等信息。(5)用戶-角色表(User_Role):保存角色編
7、號,角色編號,這兩個(gè)字段作為表的主鍵。(6)角色-權(quán)限表(Role_Permission):保存角色編號,權(quán)限編號,這兩個(gè)字段作為表的主鍵。(7)用戶-角色-權(quán)限 (View_U_R_P)視圖:創(chuàng)建視圖是為了提高表之間的聯(lián)結(jié)查詢效率,視圖里的一條記錄反映了一個(gè)用戶所對應(yīng)的一個(gè)權(quán)限,當(dāng)用戶的角色發(fā)生改變時(shí),他所對應(yīng)的權(quán)限也發(fā)生改變。創(chuàng)建視圖View_U_R_P的SQL代碼:CREATE VIEW View_R_U_PASSELECtrole.pkid, , user_role.user_pkid, role_ permission.role_pkid, permission.n
8、ame AS permission_name, AS role_name, permission.resource_pkid, permission.pkid AS permission_pkid, role_permission.permission_rangeFROMrole INNER JOIN role_permission ON role.pkid = role_permission.role_pkid INNER JOINuser_role ON role.pkid=user_role.role_pkid INNER JOINpermission ON role
9、_permission.permission_pkid = permission.pkid三、利用C#.NET實(shí)現(xiàn)信息管理系統(tǒng)的權(quán)限控制通過對RBAC的模型分析和數(shù)據(jù)表定義,我們?nèi)菀椎玫綄τ脩舨僮鳈?quán)限進(jìn)行判斷的方法。用戶在對信息系統(tǒng)的某個(gè)功能模塊操作時(shí),首先獲取該功能模塊所對應(yīng)的權(quán)限編號(permission_pkid)和用戶登錄系統(tǒng)時(shí)創(chuàng)建會(huì)話(Session)的user_pkid,利用這兩個(gè)值判斷用戶是否有權(quán)限操作。下面我們以判斷用戶是否有權(quán)限刪除新聞為實(shí)例,利用C#.NET實(shí)現(xiàn)一個(gè)簡單的權(quán)限控制。在用戶點(diǎn)擊“刪除新聞”按鈕時(shí),我們觸發(fā)服務(wù)端控件的事件(Event):protected vo
10、id ButtonDelete_Click(object sender, EventArgs e)/判斷是否有刪除新聞權(quán)限String permission_pkid = 10;/假設(shè)刪除新聞所對應(yīng)的permission_pkid為10String user_pkid = Session“user_pkid”.ToString;/獲取用戶登錄后的Session中的user_pkid值bool have_permission = Sql.PubClass.CheckSQL(select * from View_U_R_P where user_pkid= + user_pkid + and pe
11、rmission_pkid= + permission _pkid);if (have_permission = false)Response.Write(“”);/彈出提示沒有權(quán)限的對話框else/刪除新聞操作,代碼略去。在以上代碼中,CheckSQL是數(shù)據(jù)庫操作類SQL.PubClass中的一個(gè)成員函數(shù),通過數(shù)據(jù)訪問的封裝,很大程度上簡化了信息系統(tǒng)編程代碼。函數(shù)CheckSQL返回的是布爾值(boolean),通過傳入sql查詢語句,判斷是否有獲取到值,如果有則返回值為true,否則為 false。四、結(jié)束語本文就RBAC的模型進(jìn)行分析,提出簡單實(shí)現(xiàn)模型控制的方法。又因權(quán)限設(shè)計(jì)必須考慮多方面的要求,比如角色的繼承、權(quán)限的互斥等,所以在模型中引入了限制(Constraints),實(shí)現(xiàn)一套完整的權(quán)限設(shè)計(jì)方法。Reference:1Sandhu R S, Coyne E J, Feinstein H L, et al. Role-based access control modelsJ.IEEE Co
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025的PVC管購銷合同
- 紡織行業(yè)數(shù)字化轉(zhuǎn)型試題及答案
- 2025湖南長沙市望城經(jīng)開區(qū)招商投資有限公司招聘9人筆試參考題庫附帶答案詳解
- 2025江西省江銅集團(tuán)招573人筆試參考題庫附帶答案詳解
- 2025年河南通航機(jī)場管理有限公司社會(huì)招聘23人筆試參考題庫附帶答案詳解
- 2025山東東營中外運(yùn)物流有限公司招聘5人筆試參考題庫附帶答案詳解
- 紡織工程師考試常見問題解答試題及答案
- 軸承基礎(chǔ)知識試題及答案
- 高程模型考試試題及答案
- 《人工智能原理》課件演示
- 遼寧省名校聯(lián)盟2025年高三5月份聯(lián)合考試語文及答案
- 2024年江西省氣象部門招聘考試真題
- 2025-2030中國生物計(jì)算市場研發(fā)創(chuàng)新及發(fā)展前景趨勢預(yù)測研究報(bào)告
- 2025年一年級分批入隊(duì)闖關(guān)活動(dòng)
- 民事審判培訓(xùn)課件
- (二模)2025年深圳市高三年級第二次調(diào)研考試歷史試卷(含標(biāo)準(zhǔn)答案)
- 曳引式電梯知識培訓(xùn)課件
- 中國南水北調(diào)集團(tuán)水網(wǎng)發(fā)展研究有限公司招聘筆試題庫2025
- 貴港輔警考試題庫2024
- 閩教版新課標(biāo)三年級信息技術(shù)教案下冊
- 2025企業(yè)安全培訓(xùn)考試試題【典優(yōu)】
評論
0/150
提交評論