国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于RBAC的權(quán)限管理軟件的設(shè)計與開發(fā)研究

2016-05-30 11:01:28李韜
卷宗 2016年4期
關(guān)鍵詞:設(shè)計與開發(fā)

李韜

摘 要:在信息化建設(shè)的步伐越來越快的環(huán)境下,基于RBAC模型的權(quán)限優(yōu)勢也非常明顯,本文將對基于RBAC的權(quán)限管理軟件的設(shè)計與開發(fā)進行分析研究。

關(guān)鍵詞:RBAC;權(quán)限管理軟件;設(shè)計與開發(fā)

當前最為廣泛接受和使用最廣泛的權(quán)限模型是基于角色的訪問控制RBAC(Role—Base Access Control)設(shè)計模型,是20世紀90年代初,由美國NIST(National Institute of Standards and Technology)提出的一種新的訪問控制技術(shù),其核心點就是將訪問權(quán)限與角色相聯(lián)系。采用ASP.NET、ADO.NET等技術(shù)平臺為開發(fā)環(huán)境,開發(fā)設(shè)計了權(quán)限管理軟件,滿足企業(yè)信息系統(tǒng)減少授權(quán)管理復(fù)雜性,目的是對管理開銷達到降低,強化權(quán)限控制靈活性的需求。以實現(xiàn)只有經(jīng)過授權(quán)的用戶才可以正常合法的使用已授權(quán)的功能,對應(yīng)未經(jīng)過授權(quán)的非法用戶禁止進入系統(tǒng)。

1 軟件的系統(tǒng)設(shè)計

RBAC有用戶(User),角色(Role)和權(quán)限(Popedom)三個實體。用戶是對數(shù)據(jù)對象進行操作的主體, 是發(fā)出訪問、存取操作的發(fā)動者的集合,可以是人、機器人和計算機等。他們是對功能模塊中的數(shù)據(jù)對象進行操作的主體,以U{u1,u2,u3,……,un}表示用戶集。角色的概念源于實際工作中的職務(wù),是指同一類用戶所擁有的權(quán)限集合,由管理員根據(jù)用戶不同身份需要進行定義,以R(r1,r2,r3,……,rn)表示用戶集。權(quán)限是對特定功能模塊所擁有的某一數(shù)據(jù)對象可操作的權(quán)利,以P(p1,p2,p3,……,pn)表示權(quán)限集合。用戶和特定的某一個或者是多個角色相聯(lián)系,角色和一個或者是多個訪問許可權(quán)相聯(lián)系,并能夠依據(jù)實際的工作需要生成或者是取消,而用戶能按照自己的需要動態(tài)地激活自己擁有的角色,避免了用戶無意中危害系統(tǒng)安全。假如某個用戶擁有角色M的同時還擁有N的角色,也就是雙重角色,或者更多重角色,在默認的狀態(tài)下,系統(tǒng)會為該用戶分配角色M和角色N擁有的所有權(quán)限,它的權(quán)限為兩個角色的權(quán)限的合集。所以在為用戶分配權(quán)限之前應(yīng)該首先創(chuàng)建角色,通過角色為用戶授權(quán)。

首先,在為角色授權(quán)過程中,角色的根本就是一組對資源進行操作的權(quán)限的集合。在一個系統(tǒng)或企業(yè)里用戶的人數(shù)很多,但企業(yè)中人員的角色數(shù)總是為數(shù)不多的有限個,所以首先采取角色的定義與授權(quán),企業(yè)里的人員在按照自己的身份選擇相應(yīng)的角色,這是采取權(quán)限分配的一種廣泛使用的做好方法。對此,在本系統(tǒng)的權(quán)限管理模塊采用的是基于角色的權(quán)限管理,先采取角色的定義與權(quán)限分配,再進行用戶的授權(quán)。由于本系統(tǒng)對傳統(tǒng)的基于角色的權(quán)限模型進行了擴充,使其既能對角色進行授權(quán),也能單獨對用戶進行個別授權(quán),同時不同角色的權(quán)限有可能發(fā)生沖突,因此還要設(shè)置角色的優(yōu)先級,在角色權(quán)限沖突時不至于產(chǎn)生二義性。關(guān)于角色的優(yōu)先級與有關(guān)約定說明:假設(shè)一個用戶只屬于一個角色,那么他的權(quán)限就是他所擁有的角色的權(quán)限。假設(shè)用戶屬于多個角色,在角色權(quán)限不沖突的情況下,他的權(quán)限就是這些角色權(quán)限的并集;假設(shè)不同角色所擁有的權(quán)限發(fā)生沖突,則需要根據(jù)角色的優(yōu)先級確定用戶的最終權(quán)限。權(quán)限的確定原則是發(fā)生沖突的權(quán)限以優(yōu)先級高的角色所擁有的權(quán)限為準,與之沖突的低優(yōu)先級的角色的權(quán)限作廢。其次為用戶授權(quán)過程中,假設(shè)需要一個臨時用戶對系統(tǒng)給予操作,但是他的身份與目前的角色不相匹配,對此,解決的辦法:第一是可以增加新的角色,為角色分配該臨時用戶所需要的權(quán)限,等價于創(chuàng)建一個虛擬的角色。第二用戶不接受虛擬角色的概念,可以為用戶單獨設(shè)置權(quán)限。最后是對權(quán)限的認證。在對權(quán)限的認證的認證過程中,實際上就是對權(quán)限的確認。當某一個用戶對系統(tǒng)資源進行操作時,要首先進行認證,也就是判斷用戶是否擁有對資源進行操作的權(quán)限,然后根據(jù)判斷的結(jié)果確定是否允許用戶進行操作。首先要做的就是對系統(tǒng)資源和相應(yīng)操作進行定義,對某種系統(tǒng)資源的某種操作實際上就對應(yīng)了一條權(quán)限,系統(tǒng)的權(quán)限就是由這樣一條一條的權(quán)限所組成的,并保存在數(shù)據(jù)庫中。所以基于RBAC的模型結(jié)構(gòu)如圖1,

假設(shè)一個用戶的崗位或職位變了,用戶只需要把當前的角色去掉,加入代表新崗位或新職位的角色就可以實現(xiàn)新角色的加入。角色和權(quán)限的關(guān)系變化相對變化少,所以基于RBAC的權(quán)限管理軟件在系統(tǒng)的管理上就會對管理員的工作量減小。

2 軟件體系架構(gòu)的設(shè)計

在軟件體系架構(gòu)設(shè)計中,開始讓系統(tǒng)的域驗證,目的是確保用戶的合法性。然后在域驗證通過后從數(shù)據(jù)庫中讀取該用戶具備哪種角色,最后是依據(jù)用戶的角色來確保該用戶可以訪問的頁面,并將這些頁面生成菜單,以此實現(xiàn)權(quán)限管理的目的。具體軟件體系架構(gòu)是由表示層,業(yè)務(wù)邏輯層,數(shù)據(jù)訪問層,實體層共同組成。表示層是系統(tǒng)的展示部分,主要作用就是負責用戶和整個系統(tǒng)的交互。表示層與系統(tǒng)的業(yè)務(wù)邏輯是不相關(guān)的,只是包含頁面上控件的邏輯代碼,和界面上的元素相關(guān)聯(lián)而已。業(yè)務(wù)邏輯層在系統(tǒng)架構(gòu)中是整個系統(tǒng)的核心部位。在權(quán)限管理軟件下業(yè)務(wù)邏輯層的相關(guān)設(shè)計,包含了頁面、角色與菜單處理的業(yè)務(wù)邏輯,可以說與這個系統(tǒng)的業(yè)務(wù)邏輯相關(guān)。假設(shè)涉及到數(shù)據(jù)庫的訪問,那么就需要調(diào)用數(shù)據(jù)訪問層。對于數(shù)據(jù)訪問層,該層主要實現(xiàn)的功能就是負責數(shù)據(jù)庫操作。數(shù)據(jù)訪問層中基本上采用了“面向接口編程”,該層包含了DAL接口、Oracle Dal、DAL工廠、SqlServer Dal和Model層。而且抽象出來的IDAL模塊已經(jīng)擺脫了與具體數(shù)據(jù)庫的依賴,最大的優(yōu)點就是使整個數(shù)據(jù)訪問層更加有利于數(shù)據(jù)庫遷移。只需添加一個相應(yīng)數(shù)據(jù)庫版本的DAL并且實現(xiàn)IDAL接口即可連接到各種數(shù)據(jù)庫。業(yè)務(wù)邏輯層和表現(xiàn)層不需要任何的改動,從而提高了代碼的復(fù)用率。實體層主要把數(shù)據(jù)庫中定義的表映射成程序能夠訪問的業(yè)務(wù)實體,同時只定義實體的屬性,并無實體的行為。該層由數(shù)據(jù)訪問層產(chǎn)生,并且貫串了業(yè)務(wù)管理層與表示層。權(quán)限管理系統(tǒng)包括的實體有:用戶類、頁面類與角色類等方面。

3 系統(tǒng)功能設(shè)計

權(quán)限管理軟件有四個主要模塊,包括:用戶管理、頁面管理、角色管理與菜單管理。根據(jù)后臺的功能模塊,共劃分除了十二個對象,對這些對象分別設(shè)置了增、刪、改和查(CRUD)四種權(quán)限,對角色的共劃分也比較詳細,包括系統(tǒng)管理員、普通員工、信息發(fā)布員、安全信息員與一般使用員等多類型的角色,它們分別對這些不同的模塊有不同的權(quán)限。在新添加一個用戶時只需要對他分配不同的角色即可。而且在角色定義后,就可以對角色采取授權(quán)工作,可以根據(jù)企業(yè)實際為每一個角色分配不同的權(quán)限,在本系統(tǒng)的實現(xiàn)過程下對系統(tǒng)資源的權(quán)限劃分為增刪改查,使用這些功能,就可以實現(xiàn)對角色管理,可以添加、刪除角色,添加角色。

4 軟件的開發(fā)實現(xiàn)

用戶登錄時調(diào)用權(quán)限管理系統(tǒng)的用戶鑒別服務(wù),在權(quán)限管理系統(tǒng)下利用了C#中DLLImport直接調(diào)用Windows已經(jīng)存在的域驗證功能。DllImport所在的名字空間是 using System.Runtime.InteropServices。開始是利用域驗證來保證登錄用戶的合法性。假設(shè)驗證成功,調(diào)用權(quán)限計算服務(wù),并返回權(quán)限關(guān)系表,以HashTable的方式存放到登錄用戶的全局Session中。假設(shè)沒有全局的Session或者過期,那么被導(dǎo)向到登錄頁面,重新獲取權(quán)限。這樣的好處就是方便用戶,可以避免用戶記住多個用戶名與密碼,從而保證了系統(tǒng)的安全性。

5 結(jié)束語

在信息化建設(shè)的步伐越來越快的環(huán)境下,基于RBAC模型的權(quán)限優(yōu)勢也非常明顯,具有權(quán)限分配直觀、理解容易,使用方便,操作簡單,響應(yīng)速度快,同時支持崗位、權(quán)限多變化的需求,滿足了用戶的需求。在B/S架構(gòu)的系統(tǒng)的投用更廣泛的條件下,基于RBAC的權(quán)限管理軟件的應(yīng)用范圍將變得更加的廣闊。

參考文獻

[1] 陳小磊,周軍,杜欽波,張娟,段先斐. 測井數(shù)據(jù)庫統(tǒng)一認證及權(quán)限管理系統(tǒng)設(shè)計與開發(fā)[J]. 微型電腦應(yīng)用. 2014(06)

[2] 姚從海. 基于領(lǐng)域驅(qū)動的熱機計算數(shù)據(jù)管理系統(tǒng)的分析與實現(xiàn)[D]. 武漢理工大學 2014

[3] 信科,楊峰,楊光旭,馬媛媛. 基于RBAC權(quán)限管理系統(tǒng)的優(yōu)化設(shè)計與實現(xiàn)[J]. 計算機技術(shù)與發(fā)展. 2011(07)

猜你喜歡
設(shè)計與開發(fā)
基于安卓平臺的掌上校園APP的設(shè)計與開發(fā)
科技資訊(2017年11期)2017-06-09 10:14:24
探究XML基礎(chǔ)下的EDI電子商務(wù)平臺設(shè)計與開發(fā)
文化創(chuàng)意產(chǎn)品的策略性設(shè)計與開發(fā)
基于移動互聯(lián)網(wǎng)的物流信息公共平臺的設(shè)計與開發(fā)
計算機時代(2017年3期)2017-03-21 18:59:40
汽車維修廠管理系統(tǒng)的設(shè)計
淺談高中生物教學中微課程的設(shè)計與開發(fā)
信息化在《Flash動畫制作》課程中的設(shè)計與應(yīng)用研究
關(guān)于汽車產(chǎn)品的設(shè)計與開發(fā)
基于WebGL的三維物理模型設(shè)計與開發(fā)
增強現(xiàn)實技術(shù)在移動學習中的應(yīng)用芻議
祁连县| 阳新县| 太仓市| 博爱县| 荆州市| 丰台区| 筠连县| 高密市| 西贡区| 安化县| 武功县| 海盐县| 德格县| 涿州市| 台东县| 衡水市| 凌源市| 桑植县| 湘潭市| 怀宁县| 玉环县| 托克托县| 大田县| 泰安市| 渑池县| 大名县| 玛纳斯县| 屏东市| 家居| 定结县| 黔江区| 池州市| 保定市| 咸丰县| 东乡族自治县| 石林| 乐清市| 旺苍县| 平凉市| 扬中市| 长汀县|