springboot 2.4之前
public class CorsFilterConfig {private CorsConfiguration buildConfig() {
CorsConfiguration config = new CorsConfiguration();// 允许cookies跨域config.setAllowCredentials(true);// 允许向该服务器提交请求的URI,*表示全部允许。。这里尽量限制来源域,比如http://xxxx:8080 ,以降低安全风险。。config.addAllowedOrigin("*");// 允许访问的头信息,*表示全部config.addAllowedHeader("*");// 预检请求的缓存时间(秒),即在这个时间段里,对于相同的跨域请求不会再预检了config.setMaxAge(18000L);// 允许提交请求的方法,*表示全部允许,也可以单独设置GET、PUT等config.addAllowedMethod("*");return config;
}@Beanpublic CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", buildConfig());return new CorsFilter(source);
}
}复制代码
springboot2.4 之后
public class CorsFilterConfig {private CorsConfiguration buildConfig() {
CorsConfiguration config = new CorsConfiguration();// 允许cookies跨域config.setAllowCredentials(true);// 允许向该服务器提交请求的URI,*表示全部允许。。这里尽量限制来源域,比如http://xxxx:8080 ,以降低安全风险。。// 允许访问的头信息,*表示全部List<String> allowed = new ArrayList<>();
allowed.add(CorsConfiguration.ALL);
config.setAllowedOriginPatterns(allowed);// 预检请求的缓存时间(秒),即在这个时间段里,对于相同的跨域请求不会再预检了config.setMaxAge(18000L);// 允许提交请求的方法,*表示全部允许,也可以单独设置GET、PUT等config.addAllowedMethod(CorsConfiguration.ALL);
config.addAllowedHeader(CorsConfiguration.ALL);return config;
}@Beanpublic CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", buildConfig());return new CorsFilter(source);
}
}复制代码