下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)現(xiàn)基于Spring框架應(yīng)用的權(quán)限控制系統(tǒng)效勞時(shí),P就無(wú)能為力了,只能在所有相關(guān)類中參加類似的系統(tǒng)效勞級(jí)的代碼。AP為解決系統(tǒng)級(jí)效勞問(wèn)題提供了一種很好的方法。AP將系統(tǒng)效勞分解成方面對(duì)待,并為類提供一種聲明式系統(tǒng)效勞方式。Java類不需要知道日志效勞的存在也不需要考慮相關(guān)的代碼。所以,用AP編寫的應(yīng)用程序是松耦合的,代碼的復(fù)用性就進(jìn)步了。2、Aegi平安框架借助于Spring框架,開(kāi)發(fā)者可以快速構(gòu)建構(gòu)造良好的EB應(yīng)用,但現(xiàn)有的Spring框架本身沒(méi)有提供平安相關(guān)的解決方案。同樣來(lái)自于penSure社區(qū)的Aegi平安框架為實(shí)現(xiàn)基于Spring框架的EB應(yīng)用的平安控制提供了一個(gè)很好的解決方案。Ae
2、gi本身就是利用Spring提供的I和AP機(jī)制實(shí)現(xiàn)的一個(gè)平安框架,它將平安性效勞作為J2EE平臺(tái)中的系統(tǒng)級(jí)效勞,以APAspet形式發(fā)布。所以借助于Aegi平安框架,開(kāi)發(fā)者可以在Spring使能應(yīng)用中采用聲明式方式實(shí)現(xiàn)平安控制。Aegi平安框架主要由平安管理對(duì)象、攔截器以及平安控制管理組件組成。平安管理對(duì)象是系統(tǒng)可以進(jìn)展平安控制的實(shí)體,Aegi框架主要支持方法和URL懇求兩類平安管理對(duì)象;攔截器是Aegi中的重要部件,用來(lái)實(shí)現(xiàn)平安控制懇求的攔截,針對(duì)不同的平安管理對(duì)象的平安控制懇求使用不同的攔截器進(jìn)展攔截;平安控制管理部件是實(shí)際實(shí)現(xiàn)各種平安控制的組件,對(duì)被攔截器攔截的懇求進(jìn)展平安管理與控制,主
3、要組件包括實(shí)現(xiàn)用戶身份認(rèn)證的Authentiatinanager、實(shí)現(xiàn)用戶受權(quán)的AessDeisinanager以及實(shí)現(xiàn)角色轉(zhuǎn)換的RunAsanager。平安管理對(duì)象、攔截器以及平安控制管理組件三者關(guān)系如圖1所示。Aegi平安框架在基于Spring框架的系統(tǒng)中的應(yīng)用1、分析系統(tǒng)平安性需求首先,需要明確進(jìn)展平安控制的對(duì)象,可為業(yè)務(wù)方法和URL資源。其次,需要進(jìn)一步明確,系統(tǒng)身份認(rèn)證資料和資源受權(quán)信息的數(shù)據(jù)持久化形式。2、Aegi平安系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)在Aegi框架中支持多種平安信息的持久化方式,可以在配置文件中配置或存放在關(guān)系數(shù)據(jù)庫(kù)。由于在實(shí)際應(yīng)用中,需求是經(jīng)常發(fā)生變化的。所以,在配置文件中配置是滿
4、足不了實(shí)際應(yīng)用需求的。然而,Aegi本身對(duì)權(quán)限表的設(shè)計(jì)非常簡(jiǎn)單,users表usernae,passrd,enabled和authrities表usernae,authrity,這樣簡(jiǎn)單的設(shè)計(jì)肯定無(wú)法適用復(fù)雜的權(quán)限需求。為理解決權(quán)限管理的復(fù)雜性,在這里引入了rle角色的概念,使得用戶和權(quán)限別離,一個(gè)用戶擁有多個(gè)角色,一個(gè)角色擁有多個(gè)相應(yīng)的權(quán)限,這樣就更靈敏地支持平安策略。同時(shí),為了更好地配合Aegi平安框架,還引入resure資源的概念,資源可分為URL和FUNTIN方法兩種,一個(gè)權(quán)限可以對(duì)應(yīng)多個(gè)資源。詳細(xì)的數(shù)據(jù)庫(kù)設(shè)計(jì)見(jiàn)圖2。圖1平安管理對(duì)象,攔截器和平安管理組件交互圖圖2Aegi平安控制系統(tǒng)
5、數(shù)據(jù)庫(kù)設(shè)計(jì)3、認(rèn)證管理器,受權(quán)管理器的配置實(shí)現(xiàn)系統(tǒng)的平安控制,首先需要對(duì)系統(tǒng)的平安管理器和受權(quán)管理器進(jìn)展配置,系統(tǒng)進(jìn)展認(rèn)證和受權(quán)需要獲取平安信息,Aegi本身提供了對(duì)認(rèn)證信息的獲取機(jī)制,在實(shí)現(xiàn)認(rèn)證與受權(quán)過(guò)程中,系統(tǒng)將主動(dòng)根據(jù)配制信息和相應(yīng)的信息解釋平安信息的讀齲圖3給出了一個(gè)將用戶平安信息存儲(chǔ)在數(shù)據(jù)庫(kù)中的認(rèn)證管理器的配置示意圖。對(duì)應(yīng)于圖示的XL配置文件的代碼如下:/*配置數(shù)據(jù)庫(kù)datasure和Aegi的jdbDa*/beanid=dataSurelass=prpertynae=driverlassNaevalue$jdb.driverlassNae/value/prpertyprpertyn
6、ae=urlvalue$jdb.url/value/prperty圖3認(rèn)證管理器配制示意圖受權(quán)管理器的配置方法與認(rèn)證管理器的配置根本類似,這里不再討論。4、平安懇求攔截器的配置以上配置完成后,就需要配置平安攔截器。不同的平安管理對(duì)象需要使用不同的平安攔截器。對(duì)于方法級(jí)的平安認(rèn)證需要使用的攔截器為ethdSeurityIntereptr,而應(yīng)用于URL資源的平安攔截器為FilterSeurityIntereptr。其中,ethdSeurityIntereptr攔截器是借助于SpringAp實(shí)現(xiàn)的,而FilterSeurityIntereptr攔截器是借助于ServletFilter實(shí)現(xiàn)的。本文以
7、URL資源懇求的平安攔截器為例說(shuō)明配置情況。由于URL資源懇求平安攔截是借助于過(guò)濾器進(jìn)展的。因此首先要配置AegiServlet過(guò)濾器。過(guò)濾器類似于APArund裝備,實(shí)如今eb資源調(diào)用前后進(jìn)展的一些操作6種過(guò)濾器,他們依次構(gòu)成Servlet過(guò)濾器鏈,依次處理客戶懇求。需要注意的是過(guò)濾器配置的順序是不能交換的,當(dāng)不需要使用某個(gè)過(guò)濾器時(shí),可直接將其刪除和注釋。過(guò)濾器在eb.xl中配置形式為在springappliatinntext.xl文件中的配置形式為beanid=seurityEnfreentFilterlass=prpertynae=filterSeurityIntereptrrefbea
8、n=filterInvatinInteeptr/prpertyprpertynae=authentiatinEntryPintrefbean=authentiatinPressingFilterEntryPint/prperty以上代碼是SeurityEnfreentFilter的配置,該過(guò)濾器對(duì)用戶是否有權(quán)訪問(wèn)eb資源作出最后的決定。其它的過(guò)濾器的配置類同。配置完過(guò)濾器后,需要對(duì)攔截器FilterSeurityIntereptr進(jìn)展配置,beanid=filterInvatinIntereptrlass=prpertynae=authenuserahetiatinanager1prperty
9、nae=aessDeisinanagerprpertynae=bjetDefinitinSurebjetDefinitinSure屬性定義了那些受保護(hù)的URL資源,其中引用了一個(gè)本地對(duì)象filterbjetDefinitinSure。filterbjetDefinitinSure類從數(shù)據(jù)庫(kù)中讀取需要保護(hù)的URL平安信息,它擴(kuò)展了PathBasedFilterInvatinDefinitinap類。同樣,實(shí)現(xiàn)了另外一個(gè)ethdbjetDefinitinSure類從數(shù)據(jù)庫(kù)中讀取需要保護(hù)的FUNTIN資源,它擴(kuò)展了ethdDefinitinap類。限于篇幅,在這里就不列出詳細(xì)實(shí)現(xiàn)的源代碼。完畢語(yǔ)由于Spring在越來(lái)越多的工程中的應(yīng)用,因
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 衛(wèi)生健康委自籌經(jīng)費(fèi)科研課題申報(bào)書(合同書)
- 2024年度商業(yè)廣告位租賃協(xié)議范本
- 森林管理的科學(xué)監(jiān)測(cè)體系考核試卷
- 大學(xué)生實(shí)習(xí)崗位勞動(dòng)協(xié)議范本2024
- 2024年土石方施工合作協(xié)議模板
- 住宅建筑中的門窗安裝與調(diào)試考核試卷
- 速凍商品交易協(xié)議:2024年
- 電子半導(dǎo)體測(cè)量設(shè)備考核試卷
- 六年級(jí)數(shù)學(xué)下冊(cè) 正反比例判斷練習(xí)題(人教版)
- 《淋巴瘤患者尊嚴(yán)療法個(gè)案實(shí)務(wù)探索》
- 國(guó)開(kāi)2024年秋《機(jī)電控制工程基礎(chǔ)》形考任務(wù)4答案
- 25題退役軍人事務(wù)員崗位常見(jiàn)面試問(wèn)題含HR問(wèn)題考察點(diǎn)及參考回答
- 異位妊娠急診服務(wù)流程
- SQL培訓(xùn)PPT-超實(shí)用(共58張)
- 養(yǎng)老綜合體項(xiàng)目建議書范文
- 天津市中學(xué)生日常行為規(guī)范
- 抗震支架力學(xué)計(jì)算書
- 小學(xué)作文訓(xùn)練中如何培養(yǎng)學(xué)生的觀察能力
- xx鎮(zhèn)發(fā)展鮮食玉米“一鎮(zhèn)一業(yè)”產(chǎn)業(yè)項(xiàng)目建設(shè)方案
- IEEE1588學(xué)習(xí)筆記
- 鋼管落地卸料平臺(tái)
評(píng)論
0/150
提交評(píng)論