@Configuration
public class MyCorsConfiguration {
// 在application.yml中可以配置允许跨域的外部地址列表,用逗号隔开
// 在生产环境下,只需修改application.yml后重启,比如增加:http://1.2.3.4
@Value("${spring.security.cors.allow.origin:http://127.0.0.1}")
private String allowOrigins;
@Bean
public FilterRegistrationBean<CorsFilter> corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration config = new CorsConfiguration();
config.setAllowCredentials(true);
config.addAllowedOrigin("null");
config.addAllowedOriginPattern(CorsConfiguration.ALL);
for (String allowOrigin : allowOrigins.split(",")) config.addAllowedOrigin(allowOrigin);
config.addAllowedHeader(CorsConfiguration.ALL);
config.addAllowedMethod(CorsConfiguration.ALL);
source.registerCorsConfiguration("/**", config);
FilterRegistrationBean<CorsFilter> bean = new FilterRegistrationBean<CorsFilter>(new CorsFilter(source));
bean.setOrder(Ordered.HIGHEST_PRECEDENCE);
return bean;
}
}
完美解决生产环境下SpringBoot2跨域问题
最新推荐文章于 2023-09-01 09:07:36 发布
关键词由CSDN通过智能技术生成