gpt4 book ai didi

spring-security - Spring Security 中的多个预认证过滤器?

转载 作者:行者123 更新时间:2023-12-04 17:39:43 29 4
gpt4 key购买 nike

我需要有多个 PRE_AUTH Spring 安全过滤器。特别是我需要使用 PRE_AUTH除了配置为 PRE_AUTH 的两个过滤器之外的过滤器在 Spring Security 3.0 的 SAML 扩展中。现有的 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 -->

这会起作用,还是需要更复杂的解决方案。

最佳答案

很老的问题,但仍然相关。使用 spring 的复合过滤器:

<security:custom-filter before="PRE_AUTH_FILTER" ref="compositeAuthFilter"/>

<bean id="compositeAuthFilter" class="org.springframework.web.filter.CompositeFilter">
<property name="filters">
<list>
<ref bean="airlockAuthFilter"/>
<ref bean="samlEntryPoint"/>
<ref bean="metadataFilter"/>
</list>
</property>
</bean>

关于spring-security - Spring Security 中的多个预认证过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7099093/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com