我可以在 Spring WebFlux 上实现 WebSecurityConfigurerAdapter

Dee*_*pak 6 java spring spring-boot spring-webflux

我目前正在使用 Springs 的 WebFlux 并且我想实现 Spring Security。我正在努力使我的任何WebSecurityConfigurerAdapterhttp 规则起作用,我认为这是因为HttpSecurity更改没有效果。我将解释我的意思:

我选择实现WebSecurityConfigurerAdapter具有方法签名的。

protected void configure(HttpSecurity http) throws Exception
Run Code Online (Sandbox Code Playgroud)

这已正确配置,但我的所有端点都收到401未经授权的信息(这是典型的配置未被拾取而使用默认配置)。相反,当我查看 WebFluxSecurity 的实现时,它们通常实现一个具有以下签名的 Bean:

public SecurityWebFilterChain securitygWebFilterChain(
  ServerHttpSecurity http)
Run Code Online (Sandbox Code Playgroud)

我知道很多 WebFlux 架构实现了一组与典型 Spring 不同的 Requests 和 Response 对象,所以我想知道我是否必须实现WebFlux安全的做事方式,或者WebSecurityConfigurerAdapter实现安全性的更标准的方式是否仍然有效

干杯

Ita*_*tay 7

WebFluxSecurity使用ServerHttpSecurity该用途WebFilter来过滤请求。 WebSecurity使用HttpSecurityjavax.servlet.Filter来过滤请求。

它是不同的类和不同的实现,覆盖:

protected void configure(HttpSecurity http) throws Exception
Run Code Online (Sandbox Code Playgroud)

不会工作