gpt4 book ai didi

spring-boot - Reactive-Spring-Security-5.1.3.RELEASE,多重授权

转载 作者:行者123 更新时间:2023-12-05 08:17:08 24 4
gpt4 key购买 nike

我们有一些端点,它们是安全的,在访问它们之前,我们正在验证 jws 是否正确。为了做到这一点,我们定义了一个 SecurityContext,它实际上持久化了 Auth pojo 并将其向下操纵到 Controller 中。 SecurityWebFilterChain 配置如下所示:

@Bean
public SecurityWebFilterChain securityWebFilterChain(ServerHttpSecurity http) {
return http.csrf().disable()
.formLogin().disable()
.logout().disable()
.httpBasic().disable()
.securityContextRepository(securityContext)
.authorizeExchange()
.anyExchange().authenticated()
.and()
.build();
}

调用是在内部进行的,我们只是验证了 jws token 。

现在有一些外部客户端需要和我们集成,我们需要验证一个jwe token。问题是,我们需要以某种方式告诉 spring-security 验证现有端点 jws 和新端点 jwe。

我尝试指定多个安全匹配器,但失败了:(。您还有其他建议吗?

最佳答案

您可以公开多个 bean。我建议指定一个顺序:

@Bean
@Order(1)
public SecurityWebFilterChain first(ServerHttpSecurity http) {
http
.securityMatcher(...)
...

return http.build();
}

@Bean
@Order(2)
public SecurityWebFilterChain second(ServerHttpSecurity http) {
http
.securityMatcher(...)
...

return http.build();
}

附带说明一下,Spring Security 确实支持以 react 方式验证 JWS token ,您可以使用它来删除一些样板文件。

关于spring-boot - Reactive-Spring-Security-5.1.3.RELEASE,多重授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54783145/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com