我正在使用 spring 3 并在安全链中实现一系列自定义过滤器。 我需要在 FIRST 位置之后调用一系列已经实现的过滤器。 如果我尝试在同一位置列出两个过滤器(after="FIRST"),上下文将无法加载,并显示错误,指出该位置已被使用并且存在冲突。
如何实现在"FIRST"位置之后调用的一系列自定义筛选器?
(我不想重构过滤器,因为它们非常详细)
如果冲突发生在这两个过滤器之间,则可以定义复合过滤器:
<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>