大家好我使用的是spring security 3.0.2 我有一个自定义过滤器,其顺序是最后一个 我想在该过滤器之后添加另一个过滤器,以下配置是否正确?
<custom-filter position="LAST" ref="filter1"/>
<custom-filter after="LAST" ref="filter2"/>
答案 0 :(得分:3)
在查看我自己的代码之后,我注意到我没有使用'ref'属性,而是将此标记放在我的bean定义中,如下所示:
<bean id="ntlmFilter" class="org.springframework.security.ntlm.samples.failover.NtlmProcessingFilter">
<sec:custom-filter position="NTLM_FILTER" />
<property name="authenticationManager" ref="authenticationManager" />
<property name="retryOnAuthFailure" value="false" />
<property name="securityConfiguration" ref="securityConfiguration" />
</bean>
即使是弹簧安全2,行为在版本3中也是相同的。
您可以在org.springframework.security.config.http.SecurityFilters枚举中找到所有可能的位置:
您可以使用此枚举中已定义的一些帖子来定义必须设置自定义过滤器的顺序。
例如:
不知道您的标签放在哪里?但我喜欢将它们直接放在过滤器bean中...更容易维护: - )
希望有帮助!
PS:由于位置是基于整数,你可以把数字而不是枚举值(警告我们正确的位置编号,查看SecurityFilters枚举中的逻辑),不确定是否接受...