




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、15期郭藝峰,等:B/S系統(tǒng)的用戶權(quán)限設(shè)計(jì)與實(shí)現(xiàn)2365Vol. 6 No. 15 Aug. 2006Z 2006 Sci Tech EngngB/S系統(tǒng)的用戶權(quán)限設(shè)計(jì)與實(shí)現(xiàn)郭藝峰劉萬軍13(遼寧工程技術(shù)大學(xué)電子與信息工程系,軟件學(xué)院I葫蘆島125105)摘要 針對(duì)B /S系統(tǒng)中的用戶權(quán)限訪問控制的問題,提出了一種基于角色訪問控制和Web Services技術(shù)的用戶權(quán)限設(shè)計(jì)。利© 1994-201Q China Az血smic Jcum.ii EUcclriMiic PuhlishingAllrciervid.hftp卅h w w.tnki.tLel15期郭藝峰,等:B/S系統(tǒng)的用戶
2、權(quán)限設(shè)計(jì)與實(shí)現(xiàn)2365用角色訪問控制技術(shù)可以有效地實(shí)現(xiàn)用戶訪問權(quán)限的動(dòng)態(tài)管理 成對(duì)用戶權(quán)限的驗(yàn)證。在某油田無線數(shù)據(jù)管理信息系統(tǒng)中 關(guān)鍵詞 角色 W eb Services B /S系統(tǒng) 用戶權(quán)限 中圖法分類號(hào)TP311. 52; 文獻(xiàn)標(biāo)識(shí)碼AIn ternet的出現(xiàn)和發(fā)展,為信息的傳播、交換、共 享提供了快捷有效的方法,互聯(lián)網(wǎng)的流行催生了B/S (瀏覽/服務(wù))這種新的交互方式,同時(shí)也對(duì)傳統(tǒng)的 基于C/S (客戶/服務(wù))的信息系統(tǒng)造成強(qiáng)大沖擊 。t.、.、 Ill用戶群在廣度和深度上的擴(kuò)展,系統(tǒng)服務(wù)的升級(jí)和管理的便利性,都使得基于B/S的信息系統(tǒng)更具生 命力。然而,In ternet的開放性與信
3、息系統(tǒng)對(duì)用戶權(quán) 限約束之間的矛盾也加劇了。B /S系統(tǒng)這種方式提高了對(duì)網(wǎng)絡(luò)安全的要求,因?yàn)橛脩羰欠植际降模瑸g覽器成為其進(jìn)行系統(tǒng)訪問的主要工具,用戶端的限制很少,而且網(wǎng)絡(luò)中的信息以明文的方式進(jìn)行傳 輸,缺少必要的用戶權(quán)限控制往往導(dǎo)致嚴(yán)重的安全 漏洞。因此,B/S系統(tǒng)的用戶權(quán)限管理成為研究熱 點(diǎn)。本文提出一種基于角色訪問控制和Web Serv2ices技術(shù)的用戶權(quán)限設(shè)計(jì)方案能有效解決系統(tǒng)資源 的訪問權(quán)限控制問題。1基本原理2006年4月5日收到第一作者簡介:郭藝峰(1981),男,福建漳州人,碩士研究生, 研究方向:計(jì)算機(jī)軟件理論及其應(yīng)用 。E - Mail: guoyifeng so2hu co
4、mb3通信作者簡介:劉萬軍(1959),男,遼寧北寧人,教授,主要 研究方向:人工智能、軟件理論。,而W eb Services提供的咼度互操作性和訪冋性能夠很好地完,將兩者結(jié)合起來,取得了較好的效果RBAC1 1 RBAC基于角色的訪問控制 (Role Based Access Con2 trol , RBAC)是一種靈活、高效的訪問控制方法,它 有效地克服了傳統(tǒng)訪問控制(DAC ,MAC等)技術(shù)中存在的不足,可以減少授權(quán)管理的復(fù)雜性,降低管理開銷。RBAC在用戶和權(quán)限之間引入了角色的 概念,安全管理員根據(jù)實(shí)際需要定義各種角色,并設(shè)置和角色相對(duì)應(yīng)的訪問權(quán)限,而用戶根據(jù)其職責(zé)被指派為不同的角色
5、 。這樣,訪問權(quán)限和角色相關(guān) 聯(lián),角色再與用戶關(guān)聯(lián),從而實(shí)現(xiàn)了用戶與訪問權(quán) 限的邏輯分離。RBAC的基本思想可簡單地用圖1表示,即把整個(gè)訪問控制過程分為兩步:角色指派,用戶與角色相關(guān)聯(lián),通過角色使用戶與訪問權(quán)限在邏輯上 分離;權(quán)限指派,使角色與訪問權(quán)限相關(guān)聯(lián) 。理mJ)圖1 RBAC的基本思想由于RBAC實(shí)現(xiàn)了用戶與訪問權(quán)限的邏輯分 離,因此它便于權(quán)限管理。例如,如果一個(gè)用戶的職位發(fā)生變化,只要將用戶當(dāng)前的角色去掉,由代表新職務(wù)或新任務(wù)的角色代替即可,角色 權(quán)限之間的變化比角色 用戶關(guān)系之間的變化相對(duì)要慢得 多,并且委派用戶為某角色不需要很多技術(shù),可以由行政管理人員來執(zhí)行,而配置權(quán)限到角色的工
6、作比較復(fù)雜,需要一定的技術(shù),可以由專門的技術(shù)人 員來承擔(dān),但是不給他們委派用戶的權(quán)限,這與現(xiàn)實(shí)中情況正好一致。1. 2 W eb Serv icesWeb Services是近幾年發(fā)展起來的新一代Web技術(shù),是一種可以建立相互操作的分布式應(yīng)用程序 的新平臺(tái),它可以發(fā)布、定位、被Web頁面中的程序 調(diào)用。與傳統(tǒng)的 Web應(yīng)用方式相比,Web Services 是松耦合的,可靈活實(shí)現(xiàn)跨廠商、跨平臺(tái)、跨語言的 應(yīng)用。W eb Services技術(shù)平臺(tái)中立,與開發(fā)工具、程 序語言無關(guān),提供同步與非同步的程序調(diào)用,可以在廣域網(wǎng)內(nèi)很好地使用,互操作性較好,可以方便地部署和訪 問,非常適合于企業(yè)信 息系統(tǒng)集
7、成。 W eb Services采用XML描述與服務(wù)交互需要的接 口,使用WSDL文件進(jìn)行說明。通過UDDI進(jìn)行注 冊(cè),通過SOAP協(xié)議在 Web上提供訪問服務(wù),并與 實(shí)現(xiàn)服務(wù)的硬件平臺(tái)、軟件平臺(tái)和編程語言無關(guān)。II.使用者只需通過簡單的接口即可調(diào)用相關(guān)的W eb'u'再心 Jl“;Services2用戶權(quán)限的設(shè)計(jì)與實(shí)現(xiàn)作者開發(fā)的某油田無線數(shù)據(jù)管理信息系統(tǒng)是一個(gè)基于B/S的信息系統(tǒng),該系統(tǒng)包含有油井信息 管理、現(xiàn)場設(shè)備管理、油井?dāng)?shù)據(jù)管理等多個(gè)功能,每 個(gè)功能模塊又包含有若干個(gè)子功能項(xiàng)。系統(tǒng)的用戶可以有很多級(jí)別,如局領(lǐng)導(dǎo)級(jí)、各采油廠領(lǐng)導(dǎo)級(jí)、 科研單位工程人員級(jí)、普通職員級(jí)等。不同
8、的用戶 被授予不同的系統(tǒng)使用權(quán)限,并且同一用戶在系統(tǒng)運(yùn)行的不同時(shí)段其權(quán)限也有可能發(fā)生動(dòng)態(tài)變化(如人員調(diào)動(dòng))。因此采用了RBAC方法,對(duì)系統(tǒng)訪問權(quán)限實(shí)施動(dòng)態(tài)管理,簡化和規(guī)范授權(quán)操作,確保對(duì) 系統(tǒng)資源的正確和安全訪問。下面將從數(shù)據(jù)庫設(shè)計(jì) 、添加角色和 Web Serv2 ices的應(yīng)用等三方面來闡述具體實(shí)現(xiàn)過程。2. 1數(shù)據(jù)庫中表的設(shè)計(jì)根據(jù)該企業(yè)對(duì)系統(tǒng)的訪問控制要求,在數(shù)據(jù)庫中設(shè)計(jì)模塊表、功能表和角色表等三個(gè)表。(1) 模塊表(Module Table)為了管理好用戶 的權(quán)限,首先要組織好系統(tǒng)的模塊,為此設(shè)計(jì)了一個(gè)模塊表。該的表結(jié)構(gòu)如表 1。表1 模塊表(M odule Table)表結(jié)構(gòu)字段名類
9、型約束描述moduleNointidentify primary key 模塊編號(hào)module Namevarchar (20)notnull unique模塊名稱該模塊具有moduleNu mintnot null的功能數(shù)(2)模塊功能表 (ModuleFunc Table)每個(gè)功能模塊所具有的子功能稱為功能,如油井信息管理模塊屬于功能模塊的范疇)包含油井信息新增、油井信息查看、汕井信息更新 、油井信息刪除四種功能,模塊功能表的表結(jié)構(gòu)如表2。表2模塊功能表(ModuleFunc Table)表結(jié)構(gòu)字段名類型約束描述funcNointidentify primary key 功能編號(hào)funcN
10、amevarchar (20)notnull unique功能名稱該功能所屬的moduleNointnotnull unique模塊編號(hào)(3)角色表(Role Table)角色表包括角色編 號(hào),角色名稱,角色值和角色描述字段。表結(jié)構(gòu)如表3。表3 角色表(Role Table)表結(jié)構(gòu)字段名類型約束描述roleNointidentify primary key角色編號(hào)roleNamevarchar (20)not null unique角色名稱roleValuevarchar (100)not null unique角色值roleDescvarchar (100)角色描述角色表的設(shè)計(jì)關(guān)鍵在于角色值
11、的定義,它是一個(gè)由0'和T組成的類似二進(jìn)制數(shù)的字符串。而功能表中的funcNo (功能編號(hào))字段表示該功能在 角色表的roleValue 角色值)字段中的位置,如果該© 1994-201Q China Az血smic Jcum.ii EUcclriMiic PuhlishingAllrciervid.hftp卅h w w.tnki.tLel2366科學(xué)技術(shù)與工程6卷位置對(duì)應(yīng)的數(shù)值是0',表示該角色無此權(quán)限,如果值為1',則表示該角色擁有此權(quán)限。如角色普通 職員的角色值為 10010000共100位),并且油井 信息新增的功能編號(hào)為1,角色值10010000的第
12、1位為1',所以該普通職員角色擁有油井信息新增 的功能;相反,該角色值的第2位為 0',而功能編號(hào)為2的功能為油井信息更新,所以該普通職員角 色沒有油井信息更新的權(quán)限。它們的關(guān)系可由圖 2普通盡創(chuàng)1 0 I00D - 0 0補(bǔ)通呱員具有ftll井L號(hào)息浙牌勺枚眼圖2角色值與功能編號(hào)關(guān)系1I2s.3'42.2角色的添加 i ?.:.,I,'有了上面幾個(gè)表,角色頁面的功能模塊以及其 對(duì)應(yīng)的功能都可以從功能模塊表和功能表中讀出 如圖3所示。挫邑召臟|皆豐甫色二|r時(shí)乍目桶廠廠瞬晤J6至看廠曲t帛®更祈廠訥井醫(yī)總釧談廠臧辭飆廠 賊遅罰陽廠觀無遅備程右廠腿場設(shè)備
13、更虧 r jueftsw圖3角色添加在將新角色普通職員插入數(shù)據(jù)庫時(shí),先將角色值的所有位都置為 0 ',然后利用字符串函數(shù)將角 色值中打上勾的功能,它相應(yīng)的功能編號(hào)位的值改 為1 。例如,新添加一個(gè)角色名為普通職員的角 色,它擁有的功能為油井信息新增(功能編號(hào)1)和油井信息更新(功能編號(hào) 4)兩項(xiàng),則角色值應(yīng)為100100000(100位),即角色值中第1位和第4位的值為1 ',其余為 0 '2. 3利用Web Services實(shí)現(xiàn)用戶權(quán)限訪問控制本系統(tǒng)是基于J2EE平臺(tái)上開發(fā)的,開發(fā)工具 選用 Borland 公司的 JBuilder X, Web Services咅B(yǎng)
14、署 在中間件服務(wù)器 WebLogic7上。具體實(shí)現(xiàn)如下。(1) 按照J(rèn)2EE的規(guī)范編寫具體的業(yè)務(wù)方法,值得注意的是應(yīng)該在客戶端訪問與數(shù)據(jù)持久層之間 加上業(yè)務(wù)代理 (Business Delegate),通常是 SessOn2 Bean。客戶端通過SessonBean調(diào)用 CMP中的方法,使CMP用來實(shí)現(xiàn)數(shù)據(jù)庫訪問,執(zhí)行單純的數(shù)據(jù)讀取和修改工作,而把與客戶端的接口與抽象表達(dá) 業(yè)務(wù)邏輯留給SessonBear來完成,這樣軟件的重用性、可維護(hù)性和可移植性更強(qiáng),各個(gè)Bean所實(shí)現(xiàn)的功能更加明確;而且這樣做時(shí)CMP為LocalEntity2Bean,其性能比客戶端直接連接CMP時(shí)的 Remo2teEnt
15、ityBean有很大的提高,根程序(stub)與骨架程 序(skeleton)之間網(wǎng)絡(luò)傳輸更快,可以有效地解決數(shù) 據(jù)庫存取的瓶頸問題。(2) 啟動(dòng)WebLogic7服務(wù),將業(yè)務(wù)方法打包部 署在WebLogic上并測試通過。(3) 在 JBuilderX 中新建一個(gè) Web Services選擇 W eb ServicesConfigurator。在配置的過程中所使用的 Web Services Toolkit 選擇 WebLogic,如果 App lica2 tionModule還沒有建立,請(qǐng)先建立。最 后完成, JBuilder將會(huì)自動(dòng)創(chuàng)建所需要的文件,非常方便開發(fā)。(4) 打開 Web S
16、ervicesDesigner,新建一個(gè)"JavaServices'填寫要部署該Web Services的名稱,選擇類這里是一個(gè)SessonBean)。編譯工程并將其部署到 WebLogic 7上,發(fā)布成功后可以在JBuilderX的控制臺(tái)上看到相關(guān)的發(fā)布信息。Web Services的發(fā)布、綁定與調(diào)用的接口由WSDL文件完成, JBuilder也自動(dòng)地創(chuàng)建該文件,當(dāng)成功發(fā)布后可以查看該WSDL文件片段說明如下。!一消息聲明-< message name = " checkPower"part name = " intVal" x
17、mlns: partns = " htp: /www. w3. org/2001 /XMLSchema"tpe = " partns: int" /message>!操作功能聲明-< portType name = " PrivilegeBusinessPort"© 1994-2&10 ChinaIvuttiuSPubliihingAllhttp卅譏穴弾工nki.ii曰15期郭藝峰,等:B/S系統(tǒng)的用戶權(quán)限設(shè)計(jì)與實(shí)現(xiàn)2367operation name=" checkPower"inp
18、ut message= " tns: checkPower" /< output message=" tns: checkPoweResponse" /operation!綁定聲明-< binding name = " PrivilegeBusinessPortSoapBnding" type =" tns: Privi 2 legBusinessPort"soap: binding style =" rpc" transport = " http: / /schmas x
19、m lsoap. org/ soap/htt p" /<operation name=" checkPower"soap:operation soapAction = " " style= " rpc" /binding!服務(wù)聲明-service name = " PrivilegeBusiness"< documentation > todo: add your documentation here / documentation/service(5) 由于JBuilder也可以在編譯
20、的時(shí)候生成客° -戶端的調(diào)用包,所有當(dāng)在 Servlet或 JSP中調(diào)用Web Services時(shí)只需import進(jìn)來撚后引用該 Web Serv2 ices方法,代碼片段如下: V |String wsdlU rl = " http: /10. 10. 18. 27: 7001 /web - services/Privilege2 Business? W 5DL"PrivilegeBusiness service = new PrivilegeBusiness_ mpl (wsdlU rl); PrivilegeBusinessPort port = servi
21、ce getPrivilegeBusinessPort(); boolean result = port. checkPower( funcId) ; / 調(diào)用 Web Services的方 法,如果result是 true說明具有該功能的操作權(quán)限,如果為false,則 不具有該功能的操作權(quán)限。3結(jié)束語本文介紹了一種 基于角色訪 問控制和 W eb Services技術(shù)的用戶權(quán)限設(shè)計(jì)方案,并在系統(tǒng)中實(shí)現(xiàn)了對(duì)用戶訪問權(quán)限的動(dòng)態(tài)管理。系統(tǒng)各頁面通過調(diào)用一個(gè)W eb Services完成了對(duì)用戶權(quán)限的驗(yàn)證,判斷登錄用戶是否具有訪問該系統(tǒng)的某功能。本文也較詳細(xì)地闡述了B /S系統(tǒng)中基于角色訪問控制的數(shù)
22、據(jù)庫表設(shè)計(jì),以及J2EE平臺(tái)上結(jié)合WebLo字 ic中間件服務(wù)器開發(fā)Web Service舶簡單操作。這對(duì)于將要開發(fā)正在開發(fā) B/S系統(tǒng)的開發(fā)者將具有 較高的參考價(jià)值,它縮短了軟件的開發(fā)周期,并為以后系統(tǒng)升級(jí)或與其它系統(tǒng)融合奠定了基礎(chǔ)。參考文獻(xiàn)1 Sejong Oh, Seog Park Task2ole2rased access control model. Infor2 mation Systems, 2003; 28 ( 6): 533 5362柴曉路,梁宇奇.W eb Services技術(shù)、架構(gòu)和應(yīng)用.北京:電子工業(yè) 出版社,20033 Ray Lai. J2EE平臺(tái)Web Services,周斌,劉亞萍,馮艷玲等譯.北 京:電子工業(yè)出版社,20064莫樂群,姚國祥.基于J2EE的B/S系統(tǒng)的權(quán)限控制設(shè)計(jì).計(jì)算機(jī) 工程,2005, 31 (10) : 84 865周沈剛,趙嵩正.一種基于RBAC的WEB環(huán)境下信息系統(tǒng)權(quán)限控制方法.計(jì)算機(jī)應(yīng)用研究,2005, 6: 204 20615期郭藝峰,等:B/S系統(tǒng)的用戶權(quán)限設(shè)計(jì)與實(shí)現(xiàn)236715期郭藝峰,等:B/S系統(tǒng)的用戶權(quán)限設(shè)計(jì)與實(shí)現(xiàn)2367D esign and Realizati on of B /S System User Author ity1 2GUO Yifen
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 兒科副高面試題及答案
- 學(xué)前數(shù)學(xué)教師工作總結(jié)
- 2025年 黃石市勞動(dòng)就業(yè)管理局政府雇員招聘考試筆試試卷附答案
- 吧臺(tái)酒水培訓(xùn)
- 2025年中國攀爬安全帶行業(yè)市場全景分析及前景機(jī)遇研判報(bào)告
- 2025年中國尿失禁內(nèi)褲行業(yè)市場全景分析及前景機(jī)遇研判報(bào)告
- 員工感恩心態(tài)培訓(xùn)
- 入院護(hù)理要點(diǎn)與入院宣教
- 品質(zhì)方面培訓(xùn)
- 下肢靜脈血栓內(nèi)科診療規(guī)范
- 中外航海文化知到課后答案智慧樹章節(jié)測試答案2025年春中國人民解放軍海軍大連艦艇學(xué)院
- 國家開放大學(xué)《中國法律史》形考任務(wù)1-3答案
- 人工智能引論智慧樹知到課后章節(jié)答案2023年下浙江大學(xué)
- 食堂從業(yè)人員知識(shí)培訓(xùn)考核試題與答案
- 合同能源管理協(xié)議書范本
- 壓力容器使用年度檢查報(bào)告(范本)
- 壓力管道安裝質(zhì)量證明書新
- 轉(zhuǎn)預(yù)備、預(yù)備轉(zhuǎn)正各種無記名投票表格匯總(20201230021242)
- 腰椎間盤突出癥的診斷、鑒別診斷與分型
- 閥體零件機(jī)械加工工藝及裝備設(shè)計(jì)
- LD型單梁起重機(jī)使用說明書
評(píng)論
0/150
提交評(píng)論