Spring security FilterChainProxy的SecurityFilterChain中的筛选器优先级

Spring security FilterChainProxy的SecurityFilterChain中的筛选器优先级,spring-security,single-sign-on,pentaho,spring-saml,single-logout,Spring Security,Single Sign On,Pentaho,Spring Saml,Single Logout,我正在安装一个带有和多个身份验证提供程序(Jackrabbit和SAML IdP,使用和配置)的Peantaho实例 但是,只有使用SSO登录的用户才能注销。使用Jackrabbit凭据登录的用户将保持会话状态,日志中不会出现错误 我看到,注销配置是在FilterChainProxy的SecurityFilterChain列表中使用一个新过滤器进行的 applicationContext-spring-security-saml.xml中的示例 [...] logoutFilter bean

我正在安装一个带有和多个身份验证提供程序(Jackrabbit和SAML IdP,使用和配置)的Peantaho实例

但是,只有使用SSO登录的用户才能注销。使用Jackrabbit凭据登录的用户将保持会话状态,日志中不会出现错误

我看到,注销配置是在FilterChainProxy的SecurityFilterChain列表中使用一个新过滤器进行的 applicationContext-spring-security-saml.xml中的示例


[...]
logoutFilter bean的定义如下:

<!-- overridden from applicationContext-spring-security.xml -->
<bean id="logoutFilter" class="org.springframework.security.web.authentication.logout.LogoutFilter">
    <constructor-arg value="/logout.jsp" /> <!-- URL redirected to after logout -->
    <constructor-arg>
        <util:list>
            <bean class="org.pentaho.platform.web.http.security.PentahoLogoutHandler" />
            <bean class="org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler" />
        </util:list>
    </constructor-arg>
    <property name="filterProcessesUrl" value="/platform/logout" />
</bean>

我试图为Jackrabbit的注销定义一个额外的过滤器(使用“FilterProcessUrl”value=“/logout”),但是它不起作用

  • 我做错什么了吗?
  • 是否可以为所有注销定义相同的FilterProcessURL?在哪里?
  • 是否可以将筛选器的使用限制为一种身份验证类型?
你能帮我吗

<!-- overridden from applicationContext-spring-security.xml -->
<bean id="logoutFilter" class="org.springframework.security.web.authentication.logout.LogoutFilter">
    <constructor-arg value="/logout.jsp" /> <!-- URL redirected to after logout -->
    <constructor-arg>
        <util:list>
            <bean class="org.pentaho.platform.web.http.security.PentahoLogoutHandler" />
            <bean class="org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler" />
        </util:list>
    </constructor-arg>
    <property name="filterProcessesUrl" value="/platform/logout" />
</bean>