Java-跨域处理
前后分离架构下肯定会遇到跨域的问题,因为我们的请求都是通过微服务网关来转发的,所以我们可以在网关处, 统一处理跨域。
下新建 BNTangCorsConfigure 配置类:
/**
* @author BNTang
*/
@Configuration
public class BNTangCorsConfigure {
@Bean
public CorsFilter corsFilter() {
final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
final CorsConfiguration corsConfiguration = new CorsConfiguration();
// 表示允许cookie跨域
corsConfiguration.setAllowCredentials(true);
// 表示请求头部允许携带任何内容
corsConfiguration.addAllowedHeader(CorsConfiguration.ALL);
// 表示允许任何来源
corsConfiguration.addAllowedOrigin(CorsConfiguration.ALL);
// 表示允许任何HTTP方法
corsConfiguration.addAllowedMethod(CorsConfiguration.ALL);
source.registerCorsConfiguration("/**", corsConfiguration);
return new CorsFilter(source);
}
}
该配置类里注册了 CorsFilter:
- setAllowCredentials(true) 表示允许cookie跨域;
- addAllowedHeader(CorsConfiguration.ALL) 表示请求头部允许携带任何内容;
- addAllowedOrigin(CorsConfiguration.ALL) 表示允许任何来源;
- addAllowedMethod(CorsConfiguration.ALL) 表示允许任何HTTP方法。

浙公网安备 33010602011771号