**我做什么?**大家好,我正在尝试创建一个网关(使用Spring云网关和Sping Boot 3.0.0),用于管理路由的身份验证和授权。
**我的问题是什么?**我的问题是我使用的是springSecurityFilterChain,在此过滤器之前无法运行任何内容,因此如果用户要访问专用路由,我无法对他进行身份验证。
**我想要什么?**我想知道如何在用户通过filterChain之前对其进行身份验证(我已经尝试过在论坛、帖子等中看到的许多方法,但我一直无法做到:/)。
我的代码
@Configuration
@EnableWebFluxSecurity
public class WebfluxSecurityConfig{
@Bean
public SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity http) {
http.csrf().disable()
.authorizeExchange()
.pathMatchers(Routes.PUBLIC_ROUTES).permitAll() //Public routes
.pathMatchers(Routes.AUTH_ROUTES).authenticated(); //Authenticate routes
return http.build();
}
}
我正在尝试在Spring Cloud Gateway中的springSecurityFilterChain之前验证用户,但目前我还无法这样做,因为我无法在过滤器链之前放置任何过滤器进行验证。
1条答案
按热度按时间l0oc07j21#
您需要创建用户来完成此操作。请参见下面所附的示例。我正在使用内存中的用户进行身份验证。注意,内存中的用户仅用于测试目的。
https://github.com/DeepuGeorgeJacob/school-management/blob/main/security/in-memory-user-security/src/main/java/com/school/management/config/InMemoryUserSecurityAdapter.java
}
要记录事件,请在属性文件中尝试以下
logging.level.org.springframework.security=TRACE
快乐编码:)