SpringBoot2.2.xバージョンCORSドメイン間アクセスサポートの追加
8786 ワード
プロジェクトコードを見てCORSドメイン間アクセス構成クラスを見て、ここでCORSドメイン間とSpringboot 2.2について理解します.x版はどのようにCORSのドメインをまたいで要求を支持します!!!
CORSとは
CORSの全称はドメイン間リソース共有(Cross-Origin Resource Sharing)であり、AJAXドメイン間リソース要求方式であり、現代ブラウザをサポートし、IEは10以上をサポートする.詳しくは、CORSとは
Springboot CORSドメイン間アクセスサポートを開始
1つ目の方法:
2つ目の方法:
CORSとは
CORSの全称はドメイン間リソース共有(Cross-Origin Resource Sharing)であり、AJAXドメイン間リソース要求方式であり、現代ブラウザをサポートし、IEは10以上をサポートする.詳しくは、CORSとは
Springboot CORSドメイン間アクセスサポートを開始
1つ目の方法:
@Configuration
public class CorsFilterConfiguration {
@Bean
public FilterRegistrationBean corsFilter() {
System.out.println(123456);
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration config = new CorsConfiguration();
config.setAllowCredentials(true);
//
List<String> origins = Arrays.asList("http://www.hjljy.cn", "http://api.hjljy.cn");
config.setAllowedOrigins(origins);
//
config.addAllowedOrigin("*");
//
// List headers = Arrays.asList("Authorization", "Access-Control-Allow-Origin", "Access-Control-Allow-Credentials", "Content-Type", "Access-Control-Request-Method", "Access-Control-Request-Headers");
// config.setAllowedHeaders(headers);
//
config.addAllowedHeader("*");
//
// List methods = Arrays.asList("GET","POST","HEAD","OPTIONS","PUT");
// config.setAllowedMethods(methods);
//
config.addAllowedMethod("*");
//
// source.registerCorsConfiguration("/cors/**",config);
//
source.registerCorsConfiguration("/**", config);
FilterRegistrationBean bean = new FilterRegistrationBean(new CorsFilter(source));
//
bean.setOrder(Ordered.HIGHEST_PRECEDENCE);
return bean;
}
}
2つ目の方法:
@Configuration
public class CorsFilterConfiguration extends WebMvcConfigurationSupport {
@Override
protected void addCorsMappings(CorsRegistry registry) {
System.out.println(123456);
registry.addMapping("/**").
allowCredentials(true)
.allowedHeaders("*")
.allowedMethods("*")
.allowedOrigins("*");
super.addCorsMappings(registry);
}
}