我需要有多个PRE_AUTH
Spring Security 过滤器。特别是,除了在 Spring Security 3.0 的 SAML 扩展中PRE_AUTH
配置的两个过滤器之外,我还需要使用一个过滤器。PRE_AUTH
现有的 SAML 配置如下。
<security:http entry-point-ref="samlEntryPoint">
<!-- snip intercepts -->
<security:custom-filter after="BASIC_AUTH_FILTER" ref="samlProcessingFilter"/>
<security:custom-filter before="PRE_AUTH_FILTER" ref="samlEntryPoint"/>
<security:custom-filter position="PRE_AUTH_FILTER" ref="metadataFilter"/>
<security:custom-filter after="LOGOUT_FILTER" ref="samlLogoutFilter"/>
<security:custom-filter before="LOGOUT_FILTER" ref="samlLogoutProcessingFilter"/>
</security:http>
额外的PRE_AUTH
过滤器需要在任何一个现有过滤器之前进行检查(即:不应给予使用此身份验证方法进行身份验证的用户使用 SAML 的机会。
我考虑用以下方式改变它。
<!-- snip -->
<security:custom-filter before="PRE_AUTH_FILTER" ref="newPreAuthFilter"/>
<security:custom-filter position="PRE_AUTH_FILTER" ref="samlEntryPoint"/>
<security:custom-filter after="PRE_AUTH_FILTER" ref="metadataFilter"/>
<!-- snip -->
这会起作用,还是需要更复杂的解决方案。