趙衛(wèi)東,畢曉清,盧新明
(山東科技大學(xué)信息科學(xué)與工程學(xué)院,山東青島266590)
早期傳統(tǒng)的訪問控制技術(shù)如自主訪問控制、強制訪問控制等技術(shù)雖在一定時期內(nèi)確保了基于Web的管理信息系統(tǒng) (management information system)權(quán)限管理 (包括系統(tǒng)級安全管理如操作系統(tǒng)和數(shù)據(jù)庫安全和應(yīng)用級安全管理如應(yīng)用程序和Web系統(tǒng)安全[1])的安全,但其所能操作的用戶、資源數(shù)量有限;基于角色的訪問控制作為目前常用的訪問控制技術(shù)雖具有較靈活的授權(quán)機制,但其無法解決組織結(jié)構(gòu)復(fù)雜、權(quán)限變動頻繁的管理信息系統(tǒng)。總之,不同的訪問控制模型各有優(yōu)缺點并且都無法完全確保靈活、高效的權(quán)限管理。本文通過分析多種模型,改進基于角色的訪問控制模型,在該模型基礎(chǔ)上增加屬性約束和用戶組,提出基于角色的細(xì)粒度訪問控制模型。通過對細(xì)粒度模型進行分析和設(shè)計,將其進行具體應(yīng)用并通過基于SSH2框架的Web系統(tǒng)實現(xiàn)。新模型確保了系統(tǒng)高效的權(quán)限訪問控制和靈活的權(quán)限管理。
傳統(tǒng)的訪問控制模型有基于對象的訪問控制OBAC、基于任務(wù)的訪問控制TBAC和基于角色的訪問控制RBAC模型。其中OBAC以用戶為基本對象進行權(quán)限授予,授權(quán)過程雖然簡單卻存在對相同權(quán)限用戶的重復(fù)授權(quán)及重復(fù)數(shù)據(jù)冗余等問題。自主訪問控制DAC作為OBAC的一種,通過訪問控制表控制主體對客體的直接訪問,但由于訪問存在傳遞性,系統(tǒng)無法控制主體對客體的間接訪問,由此引發(fā)授權(quán)混亂。另一種基于對象的強制訪問控制MAC通過為主體和客體設(shè)定安全級來保障信息的單向流動,雖能確保訪問的高度安全但靈活性較差且工作量大;TBAC從任務(wù)角度建立模型,角色通過任務(wù)和權(quán)限關(guān)聯(lián),實現(xiàn)動態(tài)實時的安全控制,卻存在任務(wù)分配復(fù)雜等問題;RBAC作為目前應(yīng)用最廣泛的模型,通過創(chuàng)建角色,分別為角色分配不同操作權(quán)限,然后為用戶指定一個或多個角色,使用戶通過角色間接地獲得操作權(quán)限。該模型通過引入角色減少了權(quán)限授予工作量,并對組織變化具有靈活的伸縮性,但卻存在著如下問題:
(1)權(quán)限粒度約束不夠細(xì)化。粗粒度的權(quán)限 (尤其是功能權(quán)限)控制導(dǎo)致用戶權(quán)限樹過寬卻不深,樹的層次不分明。
(2)權(quán)限授予過程復(fù)雜。例如對于某高校軟件系中N名教授不同課程的教師,他們具有相同的S種功能權(quán)限,管理M個不同的數(shù)據(jù)對象 (如課程/學(xué)生信息),RBAC將分別為N教師分配角色并授予相應(yīng)S種功能權(quán)限和對應(yīng)M個數(shù)據(jù)對象,由此進行M×S×N次授權(quán)。這對于人員眾多、部門設(shè)置復(fù)雜且同級部門中的用戶具有相同功能權(quán)限的高校,會造成大量的重復(fù)授權(quán)并導(dǎo)致角色和權(quán)限的冗余,增加授權(quán)的復(fù)雜性。
(3)功能權(quán)限和數(shù)據(jù)權(quán)限未實現(xiàn)完全分離。RBAC中對數(shù)據(jù)對象的操作包含在權(quán)限管理中,數(shù)據(jù)對象的訪問和管理較亂,無法準(zhǔn)確獲取角色不同功能權(quán)限對應(yīng)的不同數(shù)據(jù)對象。如對于具有授課教師A角色的某用戶,具有查看和修改學(xué)生信息的功能權(quán)限,但無法確保他能查看某學(xué)院1班和2班學(xué)生的信息,卻只能修改1班學(xué)生的信息。
(4)具體應(yīng)用復(fù)雜,效率低下。對于登錄驗證、訪問數(shù)據(jù)庫等操作存在重復(fù)性,且客戶端不斷向服務(wù)器提交重復(fù)的T-SQL語句,由此增加服務(wù)器負(fù)擔(dān),降低服務(wù)器處理效率。
針對RBAC存在的問題,唐金鵬等人[2]提出面向用戶屬性的RBAC模型,增加屬性集合和約束,通過用戶屬性實現(xiàn)動態(tài)的分配角色。然而此方法無法確保通過多個屬性組合得到的角色間不存在冗余,不會引起角色分配混亂等問題;趙靜[3]等人提出的基于數(shù)據(jù)對象的RBAC模型,實現(xiàn)了數(shù)據(jù)對象和功能權(quán)限的分離。但此模型以數(shù)據(jù)對象為主,通過UD、RD和PA三次才完成權(quán)限分配,授權(quán)過程復(fù)雜且當(dāng)數(shù)據(jù)對象數(shù)量過多時依次為數(shù)據(jù)對象分配角色的工作量巨大,極易出錯。對于數(shù)據(jù)對象變動較大的單位部門,每增加或刪除一個數(shù)據(jù)對象可能牽扯多個角色,由此可能引發(fā)RD混亂,并刪除或增加很多角色,造成角色冗余。
本文從訪問控制的粒度出發(fā),提出基于角色的細(xì)粒度模型解決RBAC存在的上述問題:
(1)通過細(xì)粒度權(quán)限管理 (即將權(quán)限分解為原子鏈接或按鈕等可訪問集合并按此粒度管理),按盡量小的粒度將功能權(quán)限分解為增加/修改/刪除/打印等原子操作,并將權(quán)限以字符串形式存儲到數(shù)據(jù)庫,最后以用戶權(quán)限樹葉子節(jié)點的形式展現(xiàn)。
(2)引入用戶組,將具有相同角色 (功能權(quán)限相同,操作數(shù)據(jù)對象不同)的用戶集合成組,通過為用戶組直接分配角色,避免權(quán)限/角色的重復(fù)授予和冗余并保留角色間的繼承關(guān)系,允許直接為用戶指定角色。
(3)分離功能權(quán)限和客體對象,從功能權(quán)限和其對應(yīng)數(shù)據(jù)對象兩方面入手,授權(quán)時先分配功能權(quán)限,然后分配其所能操作的數(shù)據(jù)對象。通過編寫包含屬性約束的存儲過程,到數(shù)據(jù)庫中獲取用戶不同的功能權(quán)限所對應(yīng)的不同數(shù)據(jù)對象,并轉(zhuǎn)換獲取到的結(jié)果加載到前臺顯示;當(dāng)用戶數(shù)據(jù)對象改變時,通過權(quán)限管理樹更新權(quán)限數(shù)據(jù)表中的數(shù)據(jù)對象范圍即可。
(4)封裝常用控件成復(fù)合控件以完成基本登陸驗證功能;編寫存儲過程集合封裝用戶對任務(wù)的重復(fù)操作避免每次寫重復(fù)訪問語句,由此提高批量語句的執(zhí)行速度并能避免越權(quán)訪問。
細(xì)粒度模型確保了權(quán)限訪問控制的細(xì)粒度實現(xiàn),提高了動態(tài)訪問控制的安全性。作為基于角色的通用模型RBAC96[4]的擴展,其模型圖如圖1所示。
圖1 基于角色的細(xì)粒度訪問控制模型
模型中各元素的定義和描述如下:
(1)用戶U、用戶組G、角色R、權(quán)限P、會話S分別表示用戶集、用戶組集、角色集、權(quán)限集和會話集;OP操作表示功能權(quán)限集add/delete等,OB對象表示客體對象集(客體對象作為系統(tǒng)保護的資源如數(shù)據(jù)庫中數(shù)據(jù)、內(nèi)存中的片段等。本文中的客體對象為數(shù)據(jù)對象)。
(2)UA((G×R)∪ (U×R)表示為用戶分配角色。一個用戶組可被分配多個角色,一個角色可被分配給多個用戶組,對具有獨立訪問權(quán)限的部分用戶直接為其分配角色;GH(G×G,表示用戶組間的層次關(guān)系;RH(R×R則表示角色間的層次關(guān)系。授權(quán)關(guān)系圖如圖2所示。
(3)PA P×R,表示角色的權(quán)限分配。一個角色可擁有多個權(quán)限,一個權(quán)限可屬于多個角色;其中P=OP×OB,OP是管理員為角色分配的操作權(quán)限,OB是管理員為角色中的功能權(quán)限單獨分配的對應(yīng)數(shù)據(jù)對象 (通過增加check-box屬性的用戶權(quán)限樹實現(xiàn))。
圖2 授權(quán)關(guān)系
(4)user(Si):S→ (U∪G),表示會話與用戶的映射。用戶User(Si)創(chuàng)建的會話S中包含用戶激活的角色集合 (一個用戶可同時擁有多個會話)。
(5)roles(Si):S→2R,表示會話與角色集的映射。roles(Si)({r|(MYMr’≥r)[(user(Si),r)∈UA]}是會話Si對應(yīng)的角色集合;會話Si對應(yīng)權(quán)限為:Ur∈roles(Si){p|(MYMr’≥r)[(p,r)∈PA]},其中用戶具有權(quán)限為會話集中所有權(quán)限并集。
(6)約束:同RBAC2中的約束,包括互斥角色約束(即不能在一次會話中為用戶組/用戶分配互斥的角色)、基數(shù)限制 (即限定授予給用戶組/用戶的角色數(shù)量)、先決條件約束 (即僅當(dāng)具有某種操作許可時才可分配角色)及時間、頻度約束等。
(7)屬性約束:表示約束條件。以用戶屬性、功能權(quán)限等作為約束條件,將其封裝到包含眾多T-SQL語句的存儲過程中,通過調(diào)用該存儲過程 (具體介紹如3.3)獲取不同功能權(quán)限操作的不同數(shù)據(jù)對象。
基于角色的細(xì)粒度訪問控制模型具有較強的通用性,能確保高效靈活的訪問控制。其模型類圖[5]如圖3所示。
圖3 細(xì)粒度模型的類圖
類圖中的User對應(yīng)數(shù)據(jù)庫中的用戶表,Group對應(yīng)用戶組表,Role對應(yīng)角色表,Op對應(yīng)功能權(quán)限表,Ob對應(yīng)數(shù)據(jù)對象表,Stu對應(yīng)學(xué)生表;UR表示用戶角色的授予表,GR表示用戶組角色的授予表,RA表示角色權(quán)限的授權(quán)表,AttrCons表存儲用戶所有功能權(quán)限及其所能操作的數(shù)據(jù)對象,通過Userid和OPid來確定OBid。最后分解獲取到的OBid并在數(shù)據(jù)庫中的表中查找符合OBid屬性的數(shù)據(jù)信息返回到前臺[6]。
該模型在具體的應(yīng)用中包括登錄驗證、權(quán)限訪問控制和權(quán)限管理三部分。用戶登陸進行身份驗證,然后系統(tǒng)為合法用戶加載初級用戶權(quán)限樹,用戶點擊初級加載樹中的葉子節(jié)點來訪問對應(yīng)的功能權(quán)限,最后調(diào)用存儲過程獲取功能權(quán)限對應(yīng)的數(shù)據(jù)對象并返回給前臺界面顯示。具體如下:
登錄驗證能確保用戶的合法登錄。封裝常用驗證控件[7]成復(fù)合控件checkUserForm,該控件擴展FormPanel,能確保用戶輸入驗證及合法身份驗證??丶臉?gòu)造如下:
Ext.namespace("Ext.ux.form");//為新控件 check-UserFormt創(chuàng)建命名空間:
Ext.ux.form.userCheckForm = Ext.extend(Ext.form.userCheckForm,{//擴展Form控件
… //復(fù)合控件中所包含的控件及其屬性與方法
url:‘check.Action’;//提交用戶輸入的信息到check.Action驗證
});
Ext.reg(‘userCheckForm’,Ext.ux.Checkform);//完成該組件類型的注冊
通過在Ext.onReady(function(){...});中增加{xtype:‘userCheckForm’}完成復(fù)合控件的調(diào)用。復(fù)合將獲取到的用戶信息提交的具體的url進行用戶身份驗證,具體實現(xiàn)過程如圖5所示。
3.2.1 功能權(quán)限的訪問控制
權(quán)限的訪問控制能確保用戶訪問指定的權(quán)限資源,避免越權(quán)訪問。通過用戶權(quán)限樹 (Extjs中的異步樹組件)實現(xiàn)為不同用戶加載顯示不同的樹節(jié)點,從而確保安全的訪問控制。該權(quán)限樹的實現(xiàn)包括初始權(quán)限樹的加載和權(quán)限樹的級聯(lián)加載:
(1)初始權(quán)限樹的加載:為保證用戶不花長時間等待用戶權(quán)限樹的數(shù)據(jù)加載和首次渲染,設(shè)計權(quán)限樹先向用戶加載包含一級節(jié)點 (根的子節(jié)點)的初始權(quán)限樹。用戶點擊一級樹節(jié)點,通過層層的級聯(lián)加載直至訪問葉子節(jié)點。此方式與一次性加載整棵權(quán)限樹相比不但省時而且確保頁面不會頻繁刷新,提高了用戶訪問體驗。用戶通過登錄驗證后,系統(tǒng)以獲取到的用戶Userid作為參數(shù),獲取該用戶對應(yīng)的角色并查找角色所對應(yīng)的功能權(quán)限,最后獲取根節(jié)點的一級子節(jié)點返回前臺顯示,完成初始權(quán)限樹的加載。
(2)權(quán)限樹級聯(lián)加載:用戶點擊初始權(quán)限樹中的節(jié)點,層級的加載其對應(yīng)子節(jié)點直至葉子節(jié)點,點擊葉子節(jié)點對功能權(quán)限的訪問。在層級加載過程中,需要獲取到所有功能權(quán)限對應(yīng)的葉子節(jié)點到根節(jié)點的權(quán)限路徑,在加載節(jié)點的過程中,通過判斷用戶點擊所節(jié)點的加載路徑是否在權(quán)限路徑中來確定是否加載相應(yīng)子節(jié)點。其中獲取權(quán)限路徑的遞歸算法findNodePath(List<resource>);實現(xiàn)的思想為:查找用戶權(quán)限集listResource中每個葉子權(quán)限節(jié)點到根節(jié)點的路徑 (所經(jīng)過的所有resource節(jié)點的id),并將路徑保存到數(shù)組a中,由此得到權(quán)限加載路徑數(shù)組。算法內(nèi)容如下:
For(Resource r:re){//依次對每個權(quán)限/Resource進行處理
for(int j=0;j<a.length-1;j++){//指定數(shù)組初始長度:a[200]
a [j]=r.getResourceId();//獲取 Resource 的節(jié)點id
a[j+1]=r.getParentId();//獲取該節(jié)點的父節(jié)點的id
r = resourceDao.getReourceById (r.getParentId());//查找該父節(jié)點的父節(jié)點并判斷其是否存在
if(r==null){//不存則說明為根節(jié)點,跳出這個循環(huán)
j++; //若存在,則繼續(xù)循環(huán)直至找到根節(jié)點
break;}}}
當(dāng)用戶點擊權(quán)限樹中的節(jié)點時,系統(tǒng)調(diào)用resourceD-ao.findByParentIdAndIds(id,a);方法查詢該節(jié)點是否具在合法的訪問路徑中,若有則返回該節(jié)點的路徑加載信息繼續(xù)加載;若無則提示用戶不具有繼續(xù)操作的權(quán)利。其中id為 通 過 樹 的 depTreeLoader.on ('beforeload',function(depTreeLoader,node));方法獲取用戶點擊的樹節(jié)點的id。路徑檢查方法如下:
public List<Resource> findByParentIdAndIds(int parentId,int ids[]){//查找點擊節(jié)點的子節(jié)點
String paramsInt="(";//將用戶權(quán)限數(shù)組a轉(zhuǎn)換成字符串形式,方便比對
for(int i=0;i<ids.length-1;i++){
paramsInt=paramsInt+ids [i]+","; }
paramsInt= paramsInt+ids[ids.length-1]+")";
String queryString= "from Resource r where r.parentId=" +parentId+"and r.resourceId in" +paramsInt;//查詢以parentId為父節(jié)點的該用戶所具有的子節(jié)點的字符串,防止越界訪問
List<Resource> listResource= getHibernate-Template().find(queryString);
return listResource;}
(3)用戶權(quán)限樹的顯示:由于Extjs通過Json數(shù)據(jù)與后臺異步交互,故用戶權(quán)限樹只接受格式為: [{text:″TreeName″,id:″″,parentId:″0″,leaf:true}]}](id 為樹節(jié)點,text為樹結(jié)點內(nèi)容,leaf指節(jié)點是否為葉子,parentId是父節(jié)點)的Json數(shù)組才能確保樹形結(jié)構(gòu)的顯示。由于Resource的屬性格式與JSON形式不符,由此增加Tree表,將Resource表中的屬性列與樹所需的Json數(shù)組對象一致,將listResource依次轉(zhuǎn)換成Tree表的標(biāo)準(zhǔn)Json格式,然后將結(jié)果存放到struts.xml中配置的Json類型的參數(shù)menuList中自動加載給前臺異步樹顯示。
由此完成了權(quán)限樹的級聯(lián)加載。按照此方法,用戶可按照自己的需要顯示相應(yīng)功能權(quán)限,無需每次登陸都完全展示整棵權(quán)限樹,確保高效的異步訪問控制。
3.2.2 數(shù)據(jù)對象的訪問控制
用戶權(quán)限樹確保了用戶功能權(quán)限的安全訪問控制。按照訪問控制的細(xì)粒度,不同的功能權(quán)限對應(yīng)不同的數(shù)據(jù)對象。由此整合T-SQL語句編寫存儲過程并將其存儲到數(shù)據(jù)庫中,然后調(diào)用存儲過程獲取角色不同的功能權(quán)限所對應(yīng)的數(shù)據(jù)對象。
存儲過程封裝了用戶對任務(wù)的重復(fù)操作,通過選擇性調(diào)用此預(yù)先編譯的存儲過程,不必每次寫重復(fù)語句,提高批量語句的執(zhí)行速度。在編寫過程中,需要確定存儲過程的輸入和輸出參數(shù)并完善主體內(nèi)容。其中輸入?yún)?shù)包括用戶名Username(通過它獲取功能權(quán)限操作對應(yīng)的數(shù)據(jù)對象),權(quán)限樹的節(jié)點編號treenode(通過它獲取用戶選擇的功能權(quán)限),數(shù)組DataObjects(權(quán)限數(shù)據(jù)表獲取的數(shù)據(jù)對象)。例如通過存儲過程findUserObjects查找具有輔導(dǎo)員角色的用戶所能編輯的學(xué)生信息:
Use RuanjianShijianPingtai//存放用戶表、角色表等數(shù)據(jù)信息的數(shù)據(jù)庫
Create Procedure findUserObjects@Username char(8),@treenode char(8),@Data Objects List Output
AS
BEGIN
Select obj from AttrCons u where u.username=@Username and u.fun=@treenode
在調(diào)用時,執(zhí)行語句 EXEC pro findUserObjects@’zhangsan’,@’update’,@Datalist OUTPUT即可。當(dāng)返回形式如 {D200901,F(xiàn)201203}的數(shù)據(jù)對象信息時,表示具有輔導(dǎo)員角色的該用戶能夠編輯的學(xué)生對象為D200901(信息學(xué)院2009級1班)的學(xué)生和F201203(外語學(xué)院2012級的3班)的學(xué)生信息。
然而,存儲過程中所查詢出來的功能權(quán)限對應(yīng)的數(shù)據(jù)都是對象的形式,要輸出該數(shù)據(jù)對象信息,需要以其屬性為條件到數(shù)據(jù)庫中查詢符合該條件的數(shù)據(jù)表中的數(shù)據(jù)信息,并將其返回到前臺Grid數(shù)據(jù)面板顯示。對如D200901的數(shù)據(jù)對象,按以下屬性進行分解:D代表學(xué)院如信息學(xué)院、2009代表年級、01代表班級。根據(jù)學(xué)院/年級等屬性,到stu表中讀取符合條件的數(shù)據(jù)并加載顯示。通過調(diào)用存儲過程獲取數(shù)據(jù)與通過查表方法所得到的結(jié)果是一致的,但是此方法大大提高了執(zhí)行效率。
在用戶權(quán)限樹中設(shè)定Checkbox屬性為true,構(gòu)造出用戶權(quán)限管理樹。通過選中或取消用戶權(quán)限管理樹中節(jié)點前的復(fù)選框,能方便的實現(xiàn)角色權(quán)限的授予、權(quán)限數(shù)據(jù)對象的指定以及用戶組的分配等。其中角色的權(quán)限授予如圖4所示。
圖4 用戶權(quán)限管理樹
選中一級節(jié)點前的復(fù)選框則其所有子節(jié)點被選中。選擇完成后點擊保存修改按鈕,修改信息會自動保存并映射到數(shù)據(jù)庫中的AttrCons/RA/GR/PA/UR/RA表中,下次加載用戶權(quán)限樹的時候會讀取更新的表中的信息以實現(xiàn)權(quán)限樹的更新加載,確保角色/權(quán)限的靈活授權(quán)和管理。
選取基于B/S的軟件工程實踐平臺實現(xiàn)細(xì)粒度模型。該Web系統(tǒng)采用 Java語言,選取 myeclipse集成環(huán)境、mysql數(shù)據(jù)庫等進行開發(fā)。通過搭建SSH2框架并整合Extjs技術(shù)[8],將系統(tǒng)按照MVC設(shè)計思想分為顯示層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層等,各層間調(diào)用完全面向接口,實現(xiàn)了插件式編程,降低耦合度。系統(tǒng)權(quán)限訪問控制實現(xiàn)過程的順序圖[9-10]如圖5 所示。
圖5 權(quán)限訪問控制實現(xiàn)順序
系統(tǒng)最終實現(xiàn)結(jié)果如圖6所示。
圖6 系統(tǒng)的實現(xiàn)
本文通過分析、比較各種常用的訪問控制技術(shù),選取基于角色的訪問控制模型,在模型中增加屬性約束和用戶組所構(gòu)建的基于角色的細(xì)粒度訪問控制模型有效解決了目前管理信息系統(tǒng)的權(quán)限授予和管理過程中存在的授權(quán)復(fù)雜性、角色冗余性問題,減少了權(quán)限授予的數(shù)量,提高了權(quán)限授予的效率并確保了準(zhǔn)確、靈活的權(quán)限訪問控制。然而,此細(xì)粒度模型在解決模型沖突、角色繼承關(guān)系的私有權(quán)限等問題上仍存在缺陷,需通過深入的分析、研究加以改進和完善。
[1]WU Jiangdong,LI Weihua,ANXifeng.Method of finely granular access control based on RBAC [J].Computer Engineering,2008,34(20):52-54(in Chinese).[吳江棟,李偉華,安喜鋒.基于RBAC的細(xì)粒度訪問控制方法[J].計算機工程,2008,34(20):52-54.]
[2]ZHAO Jing,YANG Rui,JIANG Luansheng.RBAC permission access control model based on data objects[J].Computer Engineering and Design,2010,31(15):3353-3355(in Chinese).[趙靜,楊蕊,姜灤生.基于數(shù)據(jù)對象的RBAC權(quán)限訪問控制模型[J].計算機工程與設(shè)計,2010,31(15):3353-3355.]
[3]TANG Jinpeng,LI Linglin,YANGLuming.User attributes oriented RBAC model[J].Computer Engineering and Design,2010,31(10):2184-2186(in Chinese).[唐金鵬,李玲琳,楊路明.面向用戶屬性的RBAC模型[J].計算機工程與設(shè)計,2010,31(10):2184-2186.]
[4]SHEN Lei,ZHANG Yuan,JIANG Ping.Design and implementation of rights management based on RBAC in Web[J].Computer Era,2010(10):49-51(in Chinese).[沈磊,張媛,蔣平.基于RBAC的權(quán)限管理在Web中的設(shè)計與實現(xiàn) [J].計算機時代,2010(10):49-51.]
[5]LIU Hongbo,LUO Rui,WANG Yongbin.Competence system based on RBAC design and implementation[J].Computer Technology and Development,2009,19(9):154-156(in Chinese).[劉宏波,羅銳,王永斌.一種采用RBAC模型的權(quán)限體系設(shè)計 [J].計算機技術(shù)與發(fā)展,2009,19(9):154-156.]
[6]DU Hongyan,PAN Yi,HUANG Caixia,OU Xinliang.Application of OC-RBAC model in MIS[J].Huazhong Univ of Sci& Tech(Natural Science Edition),2009,37(9):53-55(in Chinese).[杜紅艷,潘怡,黃彩霞,等.OC-RBAC模型在管理信息系統(tǒng)中的應(yīng)用 [J].華中科技大學(xué)學(xué)報 (自然科學(xué)版),2009,37(9):53-55.]
[7]FAN Minghu,F(xiàn)AN Hong,WU Xiaojin.Competence system based on RBAC design and implementation [J].Computer Engineering,2010,364(1):143-145(in Chinese).[范明虎,樊紅,伍孝金.Universal Privilege Management System Based on RBACin ASP.net[J].計算機工程,2010,364(1):143-145.]
[8]LI Tianming,HE Yueshun.Research on privilege management based on ExtJStechnology and SSH framework [J].Computer Applications and Software,2011,28(5):165-167(in Chinese).[李天鳴,何月順.基于Extjs技術(shù)與SSH框架的權(quán)限管理研究[J].計算機應(yīng)用與軟件,2011,28(5):165-167.]
[9]SONG Yun,LI Feng.Design and implementation of access control under B/Ssystem based on RBAC [J].Software Guide,2009,8(7):28-30(in Chinese).[宋云,李峰.基于RBAC的B/S系統(tǒng)訪問控制設(shè)計與實現(xiàn) [J].軟件導(dǎo)刊,2009,8(7):28-30.]
[10]LIAO Junguo,HONG Fan,XIAO Haijun,et al.Authorization management research based on extjs and SSH framework [J].Computer Engineering and Applications,2007,43(34):138-140(in Chinese).[廖俊國,洪帆,肖海軍,等.細(xì)粒度的基于角色的訪問控制模型[J].計算機工程與應(yīng)用,2007,43(34):138-140.]