如果您提供了有关要删除的过滤器及其原因的更多详细信息,可能会有所帮助。
如果需要,可以
BeanPostProcessor在创建过滤器链后使用a对其进行修改。在默认的名称空间配置中,可以给
<http>元素创建的过滤器链命名:
<http name="myFilterChain"> ...
这将
SecurityFilterChain使用该名称注册类型的Bean 。将
FilterChainProxy可以从这些列表创建的。
后处理器看起来像:
public class SecurityFilterChainPostProcessor implements BeanPostProcessor { public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { if (beanName.equals("myFilterChain")) { DefaultSecurityFilterChain fc = (DefaultSecurityFilterChain)bean; List<Filter> filters = fc.getFilters(); // Modify the filter list as you choose here. List<Filter> newFilters = ... return new DefaultSecurityFilterChain(fc.getRequestMatcher(), newFilters); } return bean; } public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { return bean; }}然后只需在您的应用程序上下文中注册此bean的一个实例,其余的工作将由Spring完成。这样,您可以避免将所有Spring
Security基础结构过滤器定义为单独的bean。
更新资料
这里是一个链接真实世界的例子和它的配置。



