我有一个可以通过不同类型的域访问的应用程序
请访问example.com
例如
www.test.example.com
www.npc.example.com
www.train.example.com
在配置Spring Security (authentication/oauth)时,我希望只为某些子域启用安全性,而为其他子域禁用安全性。
说只为“www.example.com“启用它www.test.example.com
这是我的过滤器配置-
@Bean
fun securityWebFilterChain(
http: ServerHttpSecurity
): SecurityWebFilterChain {
return http.csrf().disable()
.cors().configurationSource(corsConfigurationSource())
.and()
.authorizeExchange()
.pathMatchers("/**")
.authenticated()
.and().httpBasic().and().oauth2Login { oauth2 ->
oauth2.authenticationSuccessHandler(oauthSuccessHandler)
.authorizedClientService(redisOauthClientService)
}
.build()
}
基本URL显示为另一个标头。是否有方法使用标头来启用/禁用安全配置?任何其他方法也可以。
1条答案
按热度按时间nnt7mjpx1#
您可以创建一个自定义的
ServerWebExchangeMatcher
实现来检查请求是否来自子域,并在DSL中使用它,类似于: