3 回答

TA贡献1783条经验 获得超4个赞
正如您所观察到的,Spring Boot将自动注册Filter与servlet容器相关的任何bean 。一种选择是不将过滤器公开为bean,只将其注册到Spring Security。
如果您希望能够将依赖关系自动装入Filter,那么它需要是一个bean。这意味着您需要告诉Spring Boot不要将其注册为过滤器。如文档中所述,您可以使用以下命令执行此操作FilterRegistrationBean:
@Bean
public FilterRegistrationBean registration(MyFilter filter) {
FilterRegistrationBean registration = new FilterRegistrationBean(filter);
registration.setEnabled(false);
return registration;
}

TA贡献1895条经验 获得超7个赞
有没有办法阻止Spring创建重复过滤器同时还指定过滤器顺序?我们想为一个也是bean的过滤器指定setOrder。无论我们如何处理FilterRegistrationBean,自动注册的过滤器都位于过滤器链的末尾附近。

TA贡献1871条经验 获得超13个赞
这不是双重注册。通过显式提供FilterRegistrationBean
禁用的过滤器,您将阻止Spring Boot创建一个已启用的过滤器。
添加回答
举报