首页 > 解决方案 > 我可以在 Spring WebFlux 上实现 WebSecurityConfigurerAdapter

问题描述

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

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

protected void configure(HttpSecurity http) throws Exception

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

public SecurityWebFilterChain securitygWebFilterChain(
  ServerHttpSecurity http)

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

干杯

标签: javaspringspring-bootspring-webflux

解决方案


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

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

protected void configure(HttpSecurity http) throws Exception

行不通


推荐阅读