天天看点

spring security 替换默认的filter

覆盖默认配置的方法:<security:custom-filter position="alias"/>,position为相应filter的别名。

 对应关系:

CHANNEL_FILTER ChannelProcessingFilter
CONCURRENT_SESSION_FILTER ConcurrentSessionFilter
SESSION_CONTEXT_INTEGRATION_FILTER HttpSessionContextIntegrationFilter
LOGOUT_FILTER LogoutFilter
X509_FILTER X509PreAuthenticatedProcessigFilter
PRE_AUTH_FILTER Subclass of AstractPreAuthenticatedProcessingFilter
CAS_PROCESSING_FILTER CasProcessingFilter
AUTHENTICATION_PROCESSING_FILTER AuthenticationProcessingFilter
BASIC_PROCESSING_FILTER BasicProcessingFilter
SERVLET_API_SUPPORT_FILTER classname
REMEMBER_ME_FILTER RememberMeProcessingFilter
ANONYMOUS_FILTER AnonymousProcessingFilter
EXCEPTION_TRANSLATION_FILTER ExceptionTranslationFilter
NTLM_FILTER NtlmProcessingFilter
FILTER_SECURITY_INTERCEPTOR FilterSecurityInterceptor
SWITCH_USER_FILTER SwitchUserProcessingFilter

比如:

Xml代码

spring security 替换默认的filter
  1. <bean id="logoutFilter"  
  2.     class="org.springframework.security.ui.logout.LogoutFilter">  
  3.     <security:custom-filter position="LOGOUT_FILTER" />  
  4.     <!-- 退出后指向的 URL -->  
  5.     <constructor-arg value="${security.logout_success_url}" />  
  6.     <constructor-arg>  
  7.         <list>  
  8.             <bean  
  9.                 class="org.springframework.security.ui.logout.SecurityContextLogoutHandler" />\   
  10.         </list>  
  11.     </constructor-arg>  
  12.     <property name="filterProcessesUrl"  
  13.         value="${security.logout_processes_url}" />  
  14. </bean>  
<bean id="logoutFilter"
        class="org.springframework.security.ui.logout.LogoutFilter">
        <security:custom-filter position="LOGOUT_FILTER" />
        <!-- 退出后指向的 URL -->
        <constructor-arg value="${security.logout_success_url}" />
        <constructor-arg>
            <list>
                <bean
                    class="org.springframework.security.ui.logout.SecurityContextLogoutHandler" />\
            </list>
        </constructor-arg>
        <property name="filterProcessesUrl"
            value="${security.logout_processes_url}" />
    </bean>      

这个filter将覆盖默认的logoutFilter

继续阅读