我目前正在使用 Springs 的 WebFlux,并且我想实现 Spring Security。我正在努力使我的任何 WebSecurityConfigurerAdapter
http 规则发挥作用,我认为这是因为 HttpSecurity
更改没有效果。我将解释我的意思:
我选择实现具有方法签名的WebSecurityConfigurerAdapter
。
protected void configure(HttpSecurity http) throws Exception
这已正确配置,但我的所有端点都收到未经授权的401
(这是典型的配置未被选取并使用默认配置的情况)。相反,当我查看 WebFluxSecurity 的实现时,他们通常会实现具有以下签名的 Bean:
public SecurityWebFilterChain securitygWebFilterChain(
ServerHttpSecurity http)
我知道很多 WebFlux 架构实现了一组与典型 Spring 不同的请求和响应对象,所以我想知道我是否必须实现 WebFlux
安全处理方式,或者是否需要更多实现安全性的标准 WebSecurityConfigurerAdapter
方式应该仍然有效
干杯
最佳答案
WebFluxSecurity
使用 ServerHttpSecurity
使用 WebFilter
来过滤请求。
WebSecurity
使用 HttpSecurity
的 javax.servlet.Filter
来过滤请求。
这是不同的类和不同的实现,覆盖:
protected void configure(HttpSecurity http) throws Exception
不起作用
关于java - 我可以在 Spring WebFlux 上实现 WebSecurityConfigurerAdapter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51234311/