我可以在 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 配置两个端口?

如何在url上实现spring security

如何在视图上实现聚集索引

如何在我的 Spring 4.0 RestFul Web 服务上实现 Spring Security?

如何使用 Cordova 在 Android 上实现打印?

技术使用 Spring 5 的 WebFlux 开发反应式 Web 应用