- 问题:
「http://xxxxx.yyyyy.com」がCORSポリシーによってブロックされました:いいえ「アクセス制御-許可-起源」ヘッダは、要求されたリソース上に存在しています。 - 理由:
クロスドメインの問題があります - ソリューション:
実際には、
SpringMVC
ヘルプたちに書き込まれたCORS
クロスドメインフィルタ:CorsFilter
内部は今述べた意思決定ロジックを達成してきた、私たちは直接出力を使用しています。
ではexcellent-gateway
、構成クラスを書き込み、登録CorsFilter:
以下に示すように、ルーティングゲートウェイプロジェクトでCorsConfigプロファイルを書きます
@Configuration
public class ExcellentCorsConfig {
@Bean
public CorsFilter corsFilter() {
//1.添加CORS配置信息
CorsConfiguration config = new CorsConfiguration();
//1) 允许的域,不要写*,否则cookie就无法使用了
config.addAllowedOrigin("http://manage.leyou.com");
//2) 是否发送Cookie信息
config.setAllowCredentials(true);
//3) 允许的请求方式
config.addAllowedMethod("OPTIONS");
config.addAllowedMethod("HEAD");
config.addAllowedMethod("GET");
config.addAllowedMethod("PUT");
config.addAllowedMethod("POST");
config.addAllowedMethod("DELETE");
config.addAllowedMethod("PATCH");
// 4)允许的头信息
config.addAllowedHeader("*");
//2.添加映射路径,我们拦截一切请求
UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();
configSource.registerCorsConfiguration("/**", config);
//3.返回新的CorsFilter,参数:cors的配置员对象
return new CorsFilter(configSource);
}
}