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