永远不会调用 Spring 安全过滤器

Voj*_*ěch 7 spring-security

我正在尝试实现一个 Spring 安全过滤器,如下所示:

@Configuration
@EnableWebSecurity
open class OpenApiConfigurer : WebSecurityConfigurerAdapter() {

    override fun configure(http: HttpSecurity) {
        http.addFilter(object : FilterSecurityInterceptor() {
            override fun doFilter(request: ServletRequest, response: ServletResponse, chain: FilterChain?) {
                super.doFilter(request, response, chain)
            }
        })
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

我可以确认@Configuration已加载,因为configure调用了该方法并添加了过滤器。然而,该方法doFilter永远不会被调用——我可以调用任何请求,但它永远不会在其中执行任何操作。

可能有什么问题?我需要做一些特别的事情吗?

Voj*_*ěch 2

原因如下:

// Even though this class is not a bean/service/configuration, it must be defined for
// the Spring-Security to work - otherwise the filters are never invoked with no error.
open class SecurityInitializer : AbstractSecurityWebApplicationInitializer()
Run Code Online (Sandbox Code Playgroud)