通过springMVC的CorsFilter拦截器拦截请求,然后返回新的CorsFilter对象
@Configuration
public class GloabalCorsConfig {
@Bean
public CorsFilter corsFilter() {
//1.添加CORS配置信息
CorsConfiguration config = new CorsConfiguration();
//允许的域,不要写*,否则cookie就无法使用了
config.addAllowedOrigin("允许跨域的域名");
//是否发送cookie信息
config.setAllowCredentials(true);
//允许的请求方式
config.addAllowedMethod("OPTIONS");
config.addAllowedMethod("HEAD");
config.addAllowedMethod("GET");
config.addAllowedMethod("PUST");
config.addAllowedMethod("POST");
config.addAllowedMethod("DELETE");
config.addAllowedMethod("PATCH");
//允许的头信息
config.addAllowedHeader("*");
//有效时长
config.setMaxAge(3600L);
//添加映射路径,拦截所有的请求
UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();
configSource.registerCorsConfiguration("/**", config);
//返回新的CorsFilter
return new CorsFilter(configSource);
}
}