由于过滤器由spring容器管理导致spring security忽略路径失效的问题

在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出来。


关于作者

落雁沙
非典型码农
获得点赞
文章被阅读