在spring security中,我们会使用自定义的过滤器来实现自己的业务逻辑处理。但是由于之前一直是用@Component来实现的,然后在配置处 通过注入方式获得。但是,由于这种方式,导致一个问题。就是配置的ignore不生效。
public void configure(WebSecurity web) throws Exception {
web.ignoring().mvcMatchers("/v2/api-docs",
"/webjars/**",
"/swagger-resources/**",
"/swagger-ui/**",
"/swagger-ui.html",
"/actuator/**");
super.configure(web);
}
这是由于是注解方式使这个过滤器已经是被spring容器管理的,所以,这个过滤器在被spring security管理的同时也被spring web管理。所以这里的ignore就无效了。
解决方案:
这里的过滤器,不能通过依赖注入的方式,只能在使用处,直接new出来。