锁定老帖子 主题:acegi过滤器
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-10-22
最近研究了下acegi,原因是我要进行flex的项目,但是不知道flex的权限如何实现,所以就想到了acegi。 从网上下载了acegi发布的0.8版本的,这个版本所有接口都在net.sf中,我使用的是acegi1.7版本,这就面临着根据别人的例子自己做。 首先谈下acegi中最重要的acegi filter。 一,httpSessionContextIntegrationFilter
<bean id="httpSessionContextIntegrationFilter" class="org.acegisecurity.context.HttpSessionContextIntegrationFilter"/> 说明:
二,logoutFilter <bean id="logoutFilter" class="org.acegisecurity.ui.logout.LogoutFilter"> <constructor-arg value="/index.jsp"/> <constructor-arg> <list> <bean class="org.acegisecurity.ui.logout.SecurityContextLogoutHandler"/> </list> </constructor-arg> <property name="filterProcessesUrl" value="/j_acegi_logout"/> </bean> 说明
三,认证处理过滤器authenticationPrcessingFilter <bean id="authenticationProcessingFilter" class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilter"> <property name="filterProcessesUrl" value="/j_security_check"/> <property name="authenticationFailureUrl" value="/index.jsp?login_error=1"/> <property name="defaultTargetUrl" value="/main.action"/> <property name="authenticationManager" ref="authenticationManager"/> <property name="rememberMeServices" ref=""/><!-可选 --> </bean>
说明
四,认证管理器authenticationManager <bean id="authenticationManager" class="org.acegisecurity.providers.ProviderManager"> <property name="providers"> <list> <ref local="daoAuthenticationProvider"/> <ref local="anonymousAuthenticationProvider"/> </list> </property> </bean> 说明
五,身份证提供者 <bean id="daoAuthenticationProvider" class="org.acegisecurity.providers.dao.DaoAuthenticationProvider"> <property name="userDetailsService" ref="userDao"/> <property name="userCache" ref="userCache"/> <property name="passwordEncoder" ref="passwordEncoder"/><!-可选 --> </bean> <bean id="anonymousAuthenticationProvider" class="org.acegisecurity.providers.anonymous.AnonymousAuthenticationProvider"> <property name="key" value="anonymous"/> </bean> <bean id="userDao" class="com.cjm.web.dao.impl.UserDaoImpl"> <property name="sessionFactory" ref="sessionFactory"/> </bean> <bean id="userCache" class="org.acegisecurity.providers.dao.cache.EhCacheBasedUserCache"> <property name="cache"> <bean class="org.springframework.cache.ehcache.EhCacheFactoryBean"> <property name="cacheManager"> <bean class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"/> </property> <property name="cacheName" value="userCache"/> </bean> </property> </bean> <bean id="passwordEncoder" class="org.acegisecurity.providers.encoding.Md5PasswordEncoder"/> 说明
六,securityContextHolderAwareRequestFilter
<bean id="securityContextHolderAwareRequestFilter" class="org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter"/> 说明
七,anonymousProcessingFilter <bean id="anonymousProcessingFilter" class="org.acegisecurity.providers.anonymous.AnonymousProcessingFilter"> <property name="key" value="anonymous"/> <property name="userAttribute" value="anonymous,ROLE_ANONYMOUS"/> </bean> 说明
八,exceptionTranslationFilter <bean id="exceptionTranslationFilter" class="org.acegisecurity.ui.ExceptionTranslationFilter"> <property name="authenticationEntryPoint"> <bean class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilterEntryPoint"> <property name="loginFormUrl" value="/index.jsp"/> <property name="forceHttps" value="false"/> </bean> </property> <property name="accessDeniedHandler"> <bean class="org.acegisecurity.ui.AccessDeniedHandlerImpl"> <property name="errorPage" value="/accessDenied.jsp" /> </bean> </property> </bean> 说明 1,该过滤器用于处理身份证和授权过程中的异常
九,filternvocationInterceotor <bean id="filterInvocationInterceptor" class="org.acegisecurity.intercept.web.FilterSecurityInterceptor"> <property name="authenticationManager" ref="authenticationManager"/> <property name="accessDecisionManager" ref="accessDecisionManager"/> <property name="objectDefinitionSource"> <value> PATTERN_TYPE_APACHE_ANT /index.jsp*=ROLE_ANONYMOUS /accessDenied.jsp*=ROLE_ANONYMOUS /**/*.jsp*=ADMIN,SYS_MANAGER /**/*.htm*=ADMIN,SYS_MANAGER /**/*.action*=ADMIN,SYS_MANAGER </value> </property> </bean>
说明
十,访问决策管理器accessDecisionManager <bean id="accessDecisionManager" class="org.acegisecurity.vote.AffirmativeBased"> <property name="allowIfAllAbstainDecisions" value="false"/> <property name="decisionVoters"> <list> <bean class="org.acegisecurity.vote.RoleVoter"> <property name="rolePrefix" value=""/> </bean> </list> </property> </bean>
说明
以上是过滤器的作用,说一下,在acegi1.0版本以前所有接口都在net.sf,中1.0后是org中。并且在1.0以后SecurityEnforcementFilter 此过滤器被exceptionTranslationFilter代替。
给大家配备一个acegi0.8的demo 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-10-22
什么年代了还用acegi ,现在都 是spring security 2.0 了
|
|
返回顶楼 | |
发表时间:2008-10-22
acegi全面转移到spring security 了
楼主你也赶紧转移吧. |
|
返回顶楼 | |
发表时间:2008-10-30
10.22,呵呵,赶紧转移Spring Security 2.0.最简单配置不超过20行配置,就可以跑起来!!
|
|
返回顶楼 | |
发表时间:2008-11-04
谢谢,我是要学习的,可是没有现成的例子,我只能从有例子的学起,我会尽快学习的。
|
|
返回顶楼 | |
浏览 4511 次