[英]enabling CrossOrigin access with spring webflux application
我最近将我的应用程序从 webmvc 切换到 webflux,并尝试配置它
@Configuration
@EnableWebFlux
public class WebConfig implements WebFluxConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*");
}
@Bean
CorsWebFilter corsWebFilter() {
var corsConfig = new CorsConfiguration();
corsConfig.setAllowedOrigins(List.of("*"));
var source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", corsConfig);
return new CorsWebFilter(source);
}
}
并尝试将@CrossOrigin
添加到我的controller。
但我仍然没有得到跨域响应标头。
有人知道修复吗?
我只有 Kotlin 项目,但在 Java 中有类似的语法。 基本上,class,注解和方法调用相同。
我将它用于无状态 API 接口。
@EnableWebFluxSecurity
class SecurityConfiguration {
@Bean
fun securityWebFilterChain(http: ServerHttpSecurity): SecurityWebFilterChain {
return http.securityContextRepository(NoOpServerSecurityContextRepository.getInstance())
.csrf().disable()
.cors().disable()
.logout().disable()
.formLogin().disable()
.headers { it.cache().disable() }
.build()
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.