`
xiaoao808
  • 浏览: 43703 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ACEGI配置总结(1)

阅读更多

  Acegi配置总结
1、 在web.xml中配置contextConfigLocation,并且配置acegi filter chain即过滤器链
例如:
  

<!—配置过滤器链-->   
<filter>
    
<filter-name>Acegi Filter Chain Proxy</filter-name>
     
<filter-class>org.acegisecurity.util.FilterToBeanProxy</filter-class>
        
<init-param>
            
<param-name>targetClass</param-name>
            
<param-value>org.acegisecurity.util.FilterChainProxy</param-value>
        
</init-param>
</filter>
  
<!—配置过滤器链过滤范围-->
<filter-mapping>
      
<filter-name>Acegi Filter Chain Proxy</filter-name>
      
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--将事物提交给web applicationContext-->
    
<listener>
<listener-class>org.acegisecurity.ui.session.HttpSessionEventPublisher</listener-class>
    
</listener>

2、在applicationContext-acegi.xml中配置
 1-配置过滤器链

 <bean id="filterChainProxy" class="org.acegisecurity.util.FilterChainProxy">
      
<!--配置过滤器链的内容及其执行顺序-->
      
<property name="filterInvocationDefinitionSource">
         
<value><![CDATA[
      CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
      PATTERN_TYPE_APACHE_ANT
            /**=httpSessionContextIntegrationFilter,logoutFilter,authenticationProcessingFilter,basicProcessingFilter,securityContextHolderAwareRequestFilter,rememberMeProcessingFilter,anonymousProcessingFilter,switchUserProcessingFilter,exceptionTranslationFilter,filterInvocationInterceptor
         
]]></value>
      
</property>
    
</bean>

另外,从某论坛上看到,如果配置文件中出现<>""等字符时除了可以用html符号外还可以用<![CDATA[ ]]> 来包含配置信息
 
 2-

<!--最先要配置的过滤器,用于提供安全上下文实例-->
 
<bean id="httpSessionContextIntegrationFilter"
  class
="org.acegisecurity.context.HttpSessionContextIntegrationFilter" />

 
 3-

<!-- 登出过滤器 -->
 
<bean id="logoutFilter"
  class
="org.acegisecurity.ui.logout.LogoutFilter">
  
<constructor-arg value="/logoutSuccess.jsp" />
  
<constructor-arg>
   
<list>
    
<bean
     
class="org.acegisecurity.ui.logout.SecurityContextLogoutHandler" />
   
</list>
  
</constructor-arg>
 
</bean>

 4-

<!-- 登陆验证过滤器 -->
 
<bean id="authenticationProcessingFilter"
  class
="org.acegisecurity.ui.webapp.AuthenticationProcessingFilter">
  
<!-- 验证管理器 -->
  
<property name="authenticationManager"
   ref
="authenticationManager" />
  
<!-- 验证失败后跳转到的页面 -->
  
<property name="authenticationFailureUrl"
   value
="/login.jsp?login_error=1" />
  
<!--登陆成功时跳转到的页面-->
  
<property name="defaultTargetUrl"
   value
="/index.jsp"/>
  
<property name="filterProcessesUrl"
   value
="/j_acegi_security_check" />
 
</bean>
 


 5-

<!--配置验证管理器-->
  
<bean id="authenticationManager" class="org.acegisecurity.providers.ProviderManager">
       
<property name="providers"><!--提供者属性-->
   
<list><!--配置其依赖的DAO-->
      
<ref local="daoAuthenticationProvider"/><!--基于数据库提供验证-->
      
<ref local="PasswordDaoAuthenticationProvider"/><!--基于数据库提供验证,但让底层的数据源完成实际的身份验证。-->
      
<ref local="anonymousAuthenticationProvider"/><!--匿名验证-->
       
<ref local="rememberMeAuthenticationProvider"/><!--再次登陆时从缓存中验证-->
   
</list>
       
</property>
    
</bean>

 

  6-

<!--数据提供者-->
   
<bean id="daoAuthenticationProvider" class="org.acegisecurity.providers.dao.DaoAuthenticationProvider">
   
<property name="userDetailsService"><ref local="jdbcDaoImpl"/></property>
   
<property name="userCache"><ref local="userCache"/></property><!-- 用户缓存,可选 -->
    
<property name="passwordEncoder"><ref local="passwordEncoder"/></property><!--密码加密,可选-->
    
</bean>

 7

<!--配置用户缓存,可选-->
  
<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"/>

     
<bean id="userCacheBackend" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
        
<property name="cacheManager">
    
<ref local="cacheManager"/>
        
</property>
        
<property name="cacheName">
    
<value>userCache</value>
        
</property>
     
</bean>

     
<bean id="userCache" class="org.acegisecurity.providers.dao.cache.EhCacheBasedUserCache">
        
<property name="cache"><ref local="userCacheBackend"/></property>
     
</bean>

 8- 

<--密码加密,可选,共3种方式-->
  
<bean id="passwordEncoder" class="org.acegisecurity.providers.encoding.PlaintextPasswordEncoder"/><!--不加密,默认-->
  
<bean id="passwordEncoder" class="org.acegisecurity.providers.encoding.Md5PasswordEncoder"/><!--MD5加密-->
  
<bean id="passwordEncoder" class="org.acegisecurity.providers.encoding.SHAPasswordEncoder"/><--SHA加密-->

 
 9- 

<!--配置jdbcDaoImpl-->
  
<bean id="jdbcDaoImpl" class="org.acegisecurity.userdetails.jdbc.JdbcDaoImpl">
   
<property name="dataSource"><ref bean="dataSource"/></property>
   
</bean>

10-配置DateSource
    DateSource自己会配置吧~~那啥,我就不说了

    本贴个人原创,如有不正确之处,请指正...... 

分享到:
评论

相关推荐

    Acegi配置指南[整理].pdf

    总结来说,Acegi 配置涉及的主要步骤是:在 `web.xml` 中配置 Acegi 过滤器代理,然后在 `acegi.xml` 中定义过滤器链,包括认证、授权和异常处理等核心组件。这样的配置使得 Acegi 能够在每次请求时检查用户的身份和...

    ldap与Acegi? ----Acegi配置文件解剖

    本文将深入探讨如何在Acegi配置文件中集成LDAP服务,以实现高效的用户身份验证和权限管理。 **LDAP简介** LDAP是一种轻量级目录访问协议,用于存储和检索分布式目录服务中的数据。它被广泛用于存储用户账户信息、...

    acegi实例,acegi详细配置和代码实现

    总结,Acegi Security提供了全面的Web安全解决方案,通过详细的配置和代码实现,我们可以确保应用程序的安全性。`spring_security.sql`和`acegiTest`文件是这个过程的重要组成部分,分别负责数据存储和功能验证。...

    spring acegi 详细文档

    总结起来,Spring Acegi是一个强大的安全框架,它的功能包括用户认证、权限控制和安全拦截。通过理解其核心组件和配置机制,你可以有效地保护Spring应用,确保只有授权的用户能访问敏感资源。如果你正在处理一个使用...

    Acegi例子代码+一个很好的学习Acegi的网址

    1. **Acegi例子代码**:这个例子代码可能包含了一个简单的Spring应用,演示了如何配置和使用Acegi进行安全控制。通过运行此示例,你可以了解Acegi的配置过程以及如何在实际应用中集成。 2. **学习网址**:提供了一...

    CAS及客户端Acegi的安装配置指南

    总结来说,CAS和Acegi的结合使用提供了一种强大且灵活的SSO解决方案。CAS处理用户认证,而Acegi则负责在客户端应用中的授权。理解并成功实施这一配置,不仅需要对SSO原理有所了解,还需要掌握Spring框架和数据库集成...

    acegi学习整理合集

    "浅谈Acegi配置 - Spring - Java - JavaEye论坛.mht"很可能深入讨论了Acegi的配置细节,包括如何设置安全性过滤器链,配置不同的访问控制策略,以及如何处理异常情况。在Acegi中,配置是非常关键的,因为它定义了...

    acegisecurity-1.0.7

    总结,Acegi Security 1.0.7作为Spring框架的重要补充,为企业级应用的安全保驾护航。通过深入理解和合理运用其特性,开发者可以构建出符合安全标准且用户体验良好的应用程序。在实际开发过程中,需要根据项目需求...

    实战Acegi:使用Acegi作为基于Spring框架的WEB应

    总结来说,本实战教程将引导你深入了解如何利用Acegi Security为Spring框架的Web应用添加安全防护,包括用户认证、授权、会话管理等多个方面。虽然Acegi Security已被Spring Security取代,但其核心理念和实践方法...

    使用Acegi作为基于Spring框架的WEB应用的安全框架

    总结来说,Acegi Security(现Spring Security)是构建安全Spring应用的重要工具,通过详细的配置和编程接口,开发者可以定制化地实现复杂的安全需求。结合"acegi-sample.war"和"实战Acegi:使用Acegi作为基于Spring...

    Acegi Security System for Spring

    - **高度可配置性**:Acegi Security System for Spring允许开发者通过XML配置文件或Java配置类来定制安全策略。 - **强大的认证机制**:支持多种认证方式,包括但不限于基于用户名/密码的认证、基于证书的认证等...

    Acegi安全系统介绍.doc

    Acegi安全框架为Spring应用提供了全面的安全保护方案,通过灵活配置上述核心组件,开发者可以轻松实现不同层次的安全控制,确保应用程序的安全性和稳定性。无论是Web层的安全防护还是业务逻辑层的方法调用控制,...

    Spring ACEGI手册(部份)

    Spring ACEGI是Spring Security的前身,它是一个强大的、高度可配置的安全框架,专为Java企业级应用设计。这个框架旨在提供全面的身份验证、授权和服务层安全功能,允许开发者轻松地在Spring应用中实现复杂的安全...

    acegi应用安全J2EE安全

    总结起来,Acegi Security为J2EE应用提供了一套强大且灵活的安全框架,它通过丰富的配置选项和扩展点,使得开发者能够根据实际需求构建出安全的Web应用程序。虽然Acegi Security已被Spring Security取代,但其设计...

    grails-acegi-0.5.zip

    1. `AcegiGrailsPlugin.groovy`:这是Grails插件的核心配置文件,它定义了插件的元数据、依赖项、安装和卸载时的钩子函数等,是插件生命周期管理的关键。 2. `application.properties`:这个文件用于存储应用的属性...

    acegi-security-tiger-1.0.7.jar

    总结来说,Acegi Security Tiger 1.0.7是Java Web开发中一个强大的安全框架,提供了全面的身份验证、授权和其他安全服务,为开发者构建安全的应用程序提供了便利。然而,需要注意的是,Acegi Security已经被Spring ...

    acegi 权限控制按钮

    为了在Tomcat服务器上运行,你需要确保Tomcat版本与Acegi兼容,并且正确地设置了`WEB-INF/web.xml`中的Spring和Acegi配置。这通常包括定义Spring的上下文加载器监听器,以及Acegi的安全过滤器链。在部署时,只需将...

    Acegi入门资料

    Acegi的配置主要分为两个部分:**web.xml中的过滤器配置** 和 **Acegi安全文件的配置**。 ##### 1. web.xml中的过滤器配置 在web.xml文件中,Acegi通过FilterToBeanProxy实现了对过滤器的配置。这种配置方式的主要...

Global site tag (gtag.js) - Google Analytics