我可以在 Spring WebFlux 上实现 WebSecurityConfigurerAdapter
Posted
技术标签:
【中文标题】我可以在 Spring WebFlux 上实现 WebSecurityConfigurerAdapter【英文标题】:Can I implement WebSecurityConfigurerAdapter on Spring WebFlux 【发布时间】:2018-12-16 11:23:14 【问题描述】:我目前正在使用 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 不同的 Requests 和 Response 对象,所以我想知道我是否必须实现 WebFlux
安全的做事方式或者更标准的 WebSecurityConfigurerAdapter
方式实施安全性应该仍然有效
干杯
【问题讨论】:
你看过这个吗? ***.com/questions/47354171/… 【参考方案1】:WebFluxSecurity
使用 ServerHttpSecurity
使用 WebFilter
过滤请求。
WebSecurity
使用HttpSecurity
那个javax.servlet.Filter
来过滤请求。
这是不同的类和不同的实现,覆盖:
protected void configure(HttpSecurity http) throws Exception
不会工作
【讨论】:
以上是关于我可以在 Spring WebFlux 上实现 WebSecurityConfigurerAdapter的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Spring Boot 2(w/WebFlux)中为 HTTP 和 HTTPS 配置两个端口?