【问题标题】:Spring 5 + WebFlux Security + JWT tokensSpring 5 + WebFlux 安全性 + JWT 令牌
【发布时间】:2019-02-05 13:30:54
【问题描述】:

在我们使用 Spring Boot 2 starters + Spring 5.0.7 + Reactor (WebFlux) 的项目中,我们希望使用 Spring Security 实现安全性。仅包括启动器:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>

还有豆子:

@Bean
SecurityWebFilterChain springWebFilterChain(ServerHttpSecurity http) throws Exception {
    return http.authorizeExchange()
            .anyExchange().authenticated()
            .and().build();
    }

绰绰有余。

但是,我们希望使用 JWT 令牌(在另一方的资源服务器中生成)来拦截这些 Authorization 标头。我一直在为此苦苦挣扎,我找不到 Spring 5 的任何示例(而 Spring

有人遇到过这个问题吗?

【问题讨论】:

  • 您可以查看medium.com/@ard333/…。主要思想是在您的 springWebFilterChain 中安装额外的两个 bean:s​​ecurityContextRepository 和 authenticationManager。 SecurityContextRepository 是处理你的 JWT(解析、验证...)的主要地方,而 AuthenticationManager 只是一个简单的检查,用于将请求标记为已验证,至少我可以看到这样。

标签: spring-boot spring-security jwt spring-webflux project-reactor


【解决方案1】:

8 月 29 日发布了新的 Spring 版本:5.1。这个版本修复了这个问题。提交实现这是this。使用方法的例子可以查看here

【讨论】:

猜你喜欢
  • 2020-07-18
  • 2021-05-22
  • 2016-07-20
  • 2018-11-12
  • 2018-10-16
  • 2017-12-25
  • 2017-12-27
  • 2020-11-18
  • 2021-07-14
相关资源
最近更新 更多