Spring Security 3 - 第一个位置后的多个Secuirty过滤器

时间:2017-01-05 18:31:07

标签: spring spring-security

我正在使用spring 3并在安全链中实现一系列自定义过滤器。我需要在FIRST位置之后调用一系列已经实现的过滤器。如果我尝试在同一位置列出两个过滤器(在=“FIRST”之后),则上下文无法加载错误,指出该位置已在使用且存在冲突。

如何在“FIRST”位置后实现一系列自定义过滤器?

(我不想重构过滤器,因为它们非常详细)

1 个答案:

答案 0 :(得分:2)

如果这两个过滤器之间存在冲突,那么您可以定义复合过滤器:

 <bean id="customFilters" class="org.springframework.web.filter.CompositeFilter">
<property name="filters">
    <list>
        <ref bean="customfilter1"/>
        <ref bean="customfilter2"/>
    </list>
</property>

将其添加到您的过滤器链中,如下所示:

 <security:http ...>
 <security:custom-filter after="FIRST" ref="customFilters" />
 ....
  </security:http>