Java spring security中的自定义过滤器位置

Java spring security中的自定义过滤器位置,java,spring,filter,spring-security,Java,Spring,Filter,Spring Security,如何在链顶部的Spring安全链中插入多个自定义过滤器 我可以使用position=“FIRST”和after=“FIRST”插入一个,但如何在链的顶部添加两个或三个?如果在=“FIRST”之后尝试多个,则会出现冲突错误,无法将多个筛选器放在同一位置 <custom-filter ref="customExceptionJSONFilter" position="FIRST"/> <custom-filter ref="logHeadersFilter" aft

如何在链顶部的Spring安全链中插入多个自定义过滤器

我可以使用
position=“FIRST”
after=“FIRST”
插入一个,但如何在链的顶部添加两个或三个?如果在=“FIRST”之后尝试多个
,则会出现冲突错误,无法将多个筛选器放在同一位置

    <custom-filter ref="customExceptionJSONFilter" position="FIRST"/>
    <custom-filter ref="logHeadersFilter" after="FIRST"/>
    <custom-filter ref="thirdCustomFilter" after="FIRST"/>       <---- this causes a conflict


最好的方法可能是将要插入的筛选器包装到单个
筛选器中。您可以从Spring Security中的
VirtualFilterChain
复制代码来实现它:

您可以省略安全名称空间,但可以手动配置Spring安全性。@DirkLachowski-您能详细说明一下吗?我不知道你的建议是什么。我现在不在办公室,所以先给我一个简短的答复。您必须手动配置FilterChainProxy。看看你的第一印象。我会回来的,但这需要一段时间。我意识到了这一点,但希望我错过了什么。当我查看
org.springframework.security.config.http.SecurityFilters
中关于
FIRST
的条例时,发现它被定义为
-MAXINT
,并且在过滤器定义之间允许有100个点,我想一定有办法使用额外的点。只是不知道怎么做。另外,我很惊讶Spring没有提供一个我可以开箱即用的公共形式的
VirtualFilterChain
,所以我认为肯定还有其他东西。