您好,登錄后才能下訂單哦!
本篇內容主要講解“Acegi的配置步驟”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Acegi的配置步驟”吧!
Acegi是基于Spring的一個開源的安全認證框架,現在的最新版本是1.04。Acegi的特點就是有很多的過濾器:不過我們也用不到這么多的過濾器,只是可以把它們看作為一個個的模塊,在用的時候加上自己用的著的即可,由于認證的流程的方面比較復雜導致它的配置很復雜,如果能摸清它的工作原理還是不太難.下面用比較順著人思維的流程過一遍
這里只列出常用的過濾器和攔載器
1. 過濾器:HttpSessionContextIntegrationFilter,authenticationProcessingFilter,BasicProcessingFilter,RememberMeProcessingFilter,anonymousProcessingFilter,exceptionTranslationFilter
2. 攔截器:filterSecurityInterceptor(其實它是過濾器,不過把它放在這里更能說明它的功能),methodSecurityInterceptor
看著上面的用紅色標出的過濾器是用來認證(表單和HTTP基本認證,當然還有別的不過這兩個比較長用)它們是資源訪問的入口.其它的過濾器是用來輔助的:HttpSessionContextIntegrationFilter是用來把認證信息記錄到Session中的RememberMeProcessingFilter是以cookie的形式來保存認證信息的. anonymousProcessingFilter是在匿名的時候(這時候是沒有認證信息的)給這個用戶分配一個匿名的認證信息,exceptionTranslationFilter總結一下異常并處理.在實際中選擇適合程序的即可.
上面只是資源訪問的入口,真正保護資源的是這兩個攔截器:filterSecurityInterceptor,攔截URL的類(它是個過濾器)
metohdSecurityInterceptor,攔截類中方法的調用,它們為什么要攔截呢?就是想在訪問或調用這些方法之前來判斷一下用戶是否有訪問或調用的權限,有就通過,沒有就踢出.
除此之外,Acegi專門做了兩個管理器(實際上就是兩個類,為什么會用做這兩個管理器,因為認證和授權都有一些的操作,這就需要專門做兩個管理器了):authenticationManager(class= org.acegisecurity.providers.ProviderManager),授權管理器accessDecisionManager(class=org.acegisecurity.vote.AffirmativeBased)
說白了一個用于認證用戶,一個是用于權限的授于的
先來說認證用戶,認證管理器有什么東西呢?只內置了一些提供者:這些提供者呢又是什么呢,他們是提供用戶的驗證身份信息的,比如從數據庫或配置文件里讀出用戶名和密碼,在用戶的cookie里讀出身份信息(rememberMeProcessingFilter用到的[前面講了的,有印象吧]),或在Session里讀出身份驗證信息(HttpSessionContextIntegrationFilter起作用的),這里我們只說一下從數據庫或配置文件里讀出用戶名密碼來裝配驗證信息的,其它的配置類似可以找一下對應api在Spring里配置即可,daoAuthenticationProvider是數據庫的提供者class=org.acegisecurity.providers.dao.DaoAuthenticationProvider,而它提供的服務呢又有幾種,數據庫和配置文件(這是Acegi的兩個默認的實現)當然也可以自己實現(實現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>
到此,相信大家對“Acegi的配置步驟”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。