本篇內(nèi)容主要講解“Acegi的配置步驟”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Acegi的配置步驟”吧!

Acegi是基于Spring的一個(gè)開源的安全認(rèn)證框架,現(xiàn)在的最新版本是1.04。Acegi的特點(diǎn)就是有很多的過濾器:不過我們也用不到這么多的過濾器,只是可以把它們看作為一個(gè)個(gè)的模塊,在用的時(shí)候加上自己用的著的即可,由于認(rèn)證的流程的方面比較復(fù)雜導(dǎo)致它的配置很復(fù)雜,如果能摸清它的工作原理還是不太難.下面用比較順著人思維的流程過一遍
這里只列出常用的過濾器和攔載器
1. 過濾器:HttpSessionContextIntegrationFilter,authenticationProcessingFilter,BasicProcessingFilter,RememberMeProcessingFilter,anonymousProcessingFilter,exceptionTranslationFilter
2. 攔截器:filterSecurityInterceptor(其實(shí)它是過濾器,不過把它放在這里更能說明它的功能),methodSecurityInterceptor
看著上面的用紅色標(biāo)出的過濾器是用來認(rèn)證(表單和HTTP基本認(rèn)證,當(dāng)然還有別的不過這兩個(gè)比較長用)它們是資源訪問的入口.其它的過濾器是用來輔助的:HttpSessionContextIntegrationFilter是用來把認(rèn)證信息記錄到Session中的RememberMeProcessingFilter是以cookie的形式來保存認(rèn)證信息的. anonymousProcessingFilter是在匿名的時(shí)候(這時(shí)候是沒有認(rèn)證信息的)給這個(gè)用戶分配一個(gè)匿名的認(rèn)證信息,exceptionTranslationFilter總結(jié)一下異常并處理.在實(shí)際中選擇適合程序的即可.
上面只是資源訪問的入口,真正保護(hù)資源的是這兩個(gè)攔截器:filterSecurityInterceptor,攔截URL的類(它是個(gè)過濾器)
metohdSecurityInterceptor,攔截類中方法的調(diào)用,它們?yōu)槭裁匆獢r截呢?就是想在訪問或調(diào)用這些方法之前來判斷一下用戶是否有訪問或調(diào)用的權(quán)限,有就通過,沒有就踢出.
除此之外,Acegi專門做了兩個(gè)管理器(實(shí)際上就是兩個(gè)類,為什么會(huì)用做這兩個(gè)管理器,因?yàn)檎J(rèn)證和授權(quán)都有一些的操作,這就需要專門做兩個(gè)管理器了):authenticationManager(class= org.acegisecurity.providers.ProviderManager),授權(quán)管理器accessDecisionManager(class=org.acegisecurity.vote.AffirmativeBased)
說白了一個(gè)用于認(rèn)證用戶,一個(gè)是用于權(quán)限的授于的
先來說認(rèn)證用戶,認(rèn)證管理器有什么東西呢?只內(nèi)置了一些提供者:這些提供者呢又是什么呢,他們是提供用戶的驗(yàn)證身份信息的,比如從數(shù)據(jù)庫或配置文件里讀出用戶名和密碼,在用戶的cookie里讀出身份信息(rememberMeProcessingFilter用到的[前面講了的,有印象吧]),或在Session里讀出身份驗(yàn)證信息(HttpSessionContextIntegrationFilter起作用的),這里我們只說一下從數(shù)據(jù)庫或配置文件里讀出用戶名密碼來裝配驗(yàn)證信息的,其它的配置類似可以找一下對(duì)應(yīng)api在Spring里配置即可,daoAuthenticationProvider是數(shù)據(jù)庫的提供者class=org.acegisecurity.providers.dao.DaoAuthenticationProvider,而它提供的服務(wù)呢又有幾種,數(shù)據(jù)庫和配置文件(這是Acegi的兩個(gè)默認(rèn)的實(shí)現(xiàn))當(dāng)然也可以自己實(shí)現(xiàn)(實(shí)現(xiàn)userDetailsService接口就行)
代碼
<bean id="authenticationManager" class="org.acegisecurity.providers.ProviderManager">
<property name="providers">
<list>
<ref local="daoAuthenticationProvider"/>
list>
property>
bean>
<bean id="daoAuthenticationProvider" class="org.acegisecurity.providers.dao.DaoAuthenticationProvider">
<property name="userDetailsService"><ref local="jdbcDaoImpl"/>property>
bean>
到此,相信大家對(duì)“Acegi的配置步驟”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
當(dāng)前文章:Acegi的配置步驟-創(chuàng)新互聯(lián)
文章URL:http://chinadenli.net/article42/diisec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、域名注冊(cè)、網(wǎng)站收錄、定制開發(fā)、全網(wǎng)營銷推廣、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容