1、什么是跨域?
2、解决跨域问题
可根据需要配置跨域配置。
@Configuration
public class GulimallCorsConfiguration {
@Bean
public CorsWebFilter corsWebFilter(){
// 基于URL的跨域配置源对象
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
// 创建跨域配置
CorsConfiguration corsConfiguration = new CorsConfiguration();
//1、配置跨域
corsConfiguration.addAllowedHeader("*");// 任意的请求头
corsConfiguration.addAllowedMethod("*");// 任意类型的请求方法
//corsConfiguration.addAllowedOrigin("*");// 允许任意来源的请求:旧版本
corsConfiguration.addAllowedOriginPattern("*");// 允许任意来源的请求:新版本
corsConfiguration.setAllowCredentials(true);// 允许cookie进行跨域,否则跨域将会丢失cookie
// 跨域配置源对象注入跨域配置:该跨域配置源处理的路径是所有的接口
source.registerCorsConfiguration("/**",corsConfiguration);// 任何的请求接口都要进行跨域处理
return new CorsWebFilter(source);
}
}
3、关闭renren-fast跨域配置
因为我们的请求都是由网关服务转发的,因此其他服务无需配置跨域了,而renren-fast开源系统内部编写了跨域配置,因此我们需要关闭,放置进行二次跨域!
关闭:renren-fast/src/main/java/io/renren/config/CorsConfig.java直接注掉@Configuration即可