使用org.springframework.security:spring-security-oauth2-resource-server5.1.0.RC2(通过org.springframework.boot:spring-boot-starter-security:2.1.0.M3)我正在尝试启用安全性一些http路径,但使用基于JWT的令牌安全性为其他人禁用它 .
我尝试了以下方法,但它在各种路径和http方法上的执行安全性不一致:
强制执行GET /帐户?名称=正在检查
在POST /帐户上强制执行
未在GET / customers上强制执行?name = John
在POST /客户上强制执行
为什么它会强制执行POST给/ customers?
@Configuration
public class SecurityConfig {
@Autowired
private ReactiveJwtDecoder jwtDecoder;
@Bean
public SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity http) {
// @formatter:off
http
.authorizeExchange().pathMatchers("/customers").permitAll()
.and()
.authorizeExchange().pathMatchers("/customers/**").permitAll()
.and()
.authorizeExchange().pathMatchers("/accounts/**").authenticated()
.and()
.oauth2ResourceServer()
.jwt().jwtDecoder(this.jwtDecoder);
// @formatter:on
return http.build();
}
}
本文探讨了如何在Spring Boot项目中使用Spring Security OAuth2 Resource Server模块实现细粒度的安全控制,包括对不同HTTP路径和方法进行鉴权,并解决了基于JWT的认证在特定路径上执行不一致的问题。
1042

被折叠的 条评论
为什么被折叠?



