天天看點

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

繼續閱讀