spring security reference documentation中关于 配备的介绍

spring security reference documentation中关于 <http>配置的介绍

转载于:http://lczluxx.blog.hexun.com/35790702_d.html

在之前版本中,配置过滤器是一件非常繁琐的过程,上一篇文章中也有介绍,关于过滤器链、Filter等的作用和配置

 

比如:之前版本中的FilterChain配置

 

  • <bean id="filterChainProxy" class="org.acegisecurity.util.FilterChainProxy">
  • <property name="filterInvocationDefinitionSource">
  • <value>
  • CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
  • PATTERN_TYPE_APACHE_ANT
  • /***//**=httpSessionContextIntegrationFilter,
  • authenticationProcessingFilter,
  • basicProcessingFilter,
  • rememberMeProcessingFilter,
  • anonymousProcessingFilter,
  • exceptionTranslationFilter,
  • filterInvocationInterceptor,
  • securityEnforcementFilter
  • </value>
  • </property>
  • </bean>

     

     

    分割线-----------------------------------------------------

    Spring Security 参考文档 2.0.x

     

    最小 <http>配置
    只需要进行如下配置就可以实现安全配置:
    <http auto-config='true'>
    <intercept-url pattern="/**" access="ROLE_USER" />
    </http>
    这表示,我们要保护应用程序中的所有URL,只有拥有 ROLE_USER角色的用户才能访问。

     

    Note
    你可以使用多个<intercept-url>元素为不同URL 的集合定义不同的访问需求,它们会被归入一个有序队
    列中,每次取出最先匹配的一个元素使用。 所以你必须把期望使用的匹配条件放到最上边。

    <http>元素会创建一个FilterChainProxy和filter 使
    用的bean。 以前常常出现的,因为filter 顺序不正确产生的问题,不会再出现了,现在这些过滤器的位置都是预定义好的。

     

    2.2.2.1. auto-config包含了什么?
    我们在上面用到的auto-config属性,其实是下面这些配置的缩写:
    <http>
    <intercept-url pattern="/**" access="ROLE_USER" />
    <form-login />
    <anonymous />
    <http-basic />
    <logout />
    <remember-me />
    </http>

     

    这些元素分别与form-login,匿名认证,基本认证,注销处理和remember-me 对应。 他们拥有各自的
    属性,来改变他们的具体行为。

    auto-config需要一个UserDetailsService
    使用auto-config 的时候如果没配置UserDetailsService就会出现错误(比如,如果你使用了LDAP 认
    证) 。 这是因为remember-me 服务在auto-config="true"的时候启动了, 它的认证机制需要

    UserDetailsService来实现