av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

Acegi安全系統(tǒng)與JSF結(jié)合

在Java Web開(kāi)發(fā)中,Javabean安全涉及到兩個(gè)不同的概念,認(rèn)證和授權(quán)。前者是關(guān)于確認(rèn)用戶(hù)是否確實(shí)是他們所宣稱(chēng)的身份。授權(quán)則是關(guān)于確認(rèn)用戶(hù)是否有允許執(zhí)行一個(gè)特定的操作。JSF (JavaServer Faces) 是J2EE 5開(kāi)發(fā)平臺(tái)的組成部分,作為表示層的技術(shù),越來(lái)越受到Java開(kāi)發(fā)人員的親睞。在開(kāi)發(fā)過(guò)程中,JSP通過(guò)DI 技術(shù)很方便的和使用類(lèi)似技術(shù)的 Spring 進(jìn)行整合。JSF在與Acegi安全系統(tǒng)結(jié)合之后,讓JavaBean的安全性得到很大提高。

成都創(chuàng)新互聯(lián)是專(zhuān)業(yè)的烏翠網(wǎng)站建設(shè)公司,烏翠接單;提供網(wǎng)站建設(shè)、網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專(zhuān)業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行烏翠網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專(zhuān)業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專(zhuān)業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

Acegi安全系統(tǒng)一個(gè)很重要的特點(diǎn)就是它并沒(méi)有角色和用戶(hù)組的概念。Acegi安全系統(tǒng)目前支持兩類(lèi)安全管理對(duì)象。***類(lèi)是為了使Spring管理的Bean可以作為MethodInvocation來(lái)使用,Bean可以通過(guò)ProxyFactoryBean和BeanNameAutoProxyCreator來(lái)管理,就像在Spring的事務(wù)管理一樣使用。第二類(lèi)是FilterInvocation。它用過(guò)濾器(Filter)來(lái)創(chuàng)建,并簡(jiǎn)單地包裝了HTTP的 ServletRequest,ServletResponse和FilterChain。FilterInvocation可以用來(lái)保護(hù)HTTP資源。通常,開(kāi)發(fā)人員并不需要了解它的工作機(jī)制,因?yàn)樗麄冎恍枰獙ilter加入web.xml,Acegi安全系統(tǒng)就可以工作了。

本文用一個(gè)簡(jiǎn)單的Web應(yīng)用實(shí)例的Apache myfaces jsf的執(zhí)行情況向大家展示,如何使用Spring的application context整合acegi的認(rèn)證和授權(quán)的功能,達(dá)到JSF的應(yīng)用。讀者可以理解到Acegi如何落實(shí)URL級(jí)別的角色授權(quán),以及如何實(shí)施Acegi的業(yè)務(wù)層的安全說(shuō)明。

示例應(yīng)用程序是一個(gè)用戶(hù)登錄購(gòu)買(mǎi)的頁(yè)面。用戶(hù)登錄窗口輸入正確的用戶(hù)名和密碼,重定向到一個(gè)網(wǎng)頁(yè),在新的網(wǎng)頁(yè)中用戶(hù)可能發(fā)生購(gòu)買(mǎi)行為等。我們將使用 Acegi安全框架的配置安全的細(xì)節(jié),確保用戶(hù)的ID已經(jīng)驗(yàn)證,并且他的存在對(duì)購(gòu)買(mǎi)頁(yè)的授權(quán)。用戶(hù)可以訪問(wèn)購(gòu)買(mǎi)頁(yè),如果有作用 role_urlaccess 。就確保了用戶(hù)作出的購(gòu)買(mǎi)行為是一個(gè)安全的商業(yè)行為。JSF與Acegi安全授權(quán)驗(yàn)證中牽涉到Acegi、JSF、Spring 三個(gè)框架。
***步:用戶(hù)訪問(wèn)JSF網(wǎng)頁(yè)
第二步:Acegi檢查訪問(wèn)用戶(hù)是否被授權(quán)訪問(wèn)該頁(yè)面。
第三步:如果授權(quán)驗(yàn)證是有效的,就將控制權(quán)交給一個(gè)為JSF服務(wù)的界面servlet。
第四步:在準(zhǔn)備的過(guò)程中,JSF將會(huì)找到Catalog bean。
第五步:JSF檢查界面結(jié)構(gòu)文件(Faces configuration file)來(lái)尋找已經(jīng)定義好的Catalog,并且實(shí)例化。Catalog bean的publicData以及privateData 屬性參數(shù)會(huì)被寫(xiě)入到?jīng)]有被具體化的publicCatalog、privateCatalog beans。
第六步:JSF利用Spring的 DelegatingVariableResolver 可變解析器解釋 publicCatalog和 privateCatalog bean。
第七步:JSF利用Acegi 生成獲得publicCatalog 和 privateCatalog beans方法,讀取公共數(shù)據(jù)和私有數(shù)據(jù)。
第八步:Acegi再次執(zhí)行它的認(rèn)證進(jìn)程來(lái)訪問(wèn)bean。
第九步:當(dāng)Acegi獲得用戶(hù)成功地訪問(wèn)了bean信息后,系統(tǒng)將產(chǎn)生一個(gè)獲取方法來(lái)讀取公共和私有的數(shù)據(jù),并且將數(shù)據(jù)傳送給JSF。
第十步:JSF調(diào)用目錄bean的設(shè)置方法,將公共和私有數(shù)據(jù)寫(xiě)入Catalog bean
第十一步:JSF執(zhí)行其周期完成,并順利傳送頁(yè)面JSF。

這樣,一個(gè)用戶(hù)從輸入用戶(hù)到進(jìn)入系統(tǒng),進(jìn)行購(gòu)買(mǎi)操作的流程就完成。在這個(gè)過(guò)程中,Acegi與JSF一起完成了用戶(hù)的認(rèn)證授權(quán)工作。相對(duì)于JSP用戶(hù)訪問(wèn)授權(quán)的過(guò)程,JSF的生命周期要比JSP復(fù)雜得多。JSP的生命周期非常簡(jiǎn)單,頁(yè)面被執(zhí)行時(shí),HTML標(biāo)記立即被生成了,生命周期隨即結(jié)束。而一個(gè)完整的 JSF-Acegi請(qǐng)求-處理生命周期被精心規(guī)劃為11個(gè)階段,但JSF框架會(huì)管理這一切,所以,程序員在獲得更多控制能力的同時(shí),工作量并沒(méi)有增加,同時(shí)也讓系統(tǒng)安全性能得到較大的提高??偟膩?lái)說(shuō),案例相對(duì)簡(jiǎn)單,但是JSF-Acegi安全處理是非常到位的,借助本文,筆者希望大家對(duì)JSF以及 Acegi給與更多關(guān)注。


當(dāng)前標(biāo)題:Acegi安全系統(tǒng)與JSF結(jié)合
轉(zhuǎn)載源于:http://uogjgqi.cn/article/djsjchh.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流