Spring BootフレームRESTfulインターフェースの設定はドメインをまたぐと許可されます.

1724 ワード

国境をまたぐ
ドメイン別要求とは、ブラウザスクリプトファイルが要求を送信する時、スクリプトがあるサーバと要求されたサーバのアドレスが異なることを意味します.ドメインをまたぐのはブラウザの同源戦略によるもので、ブラウザがJavaScriptに対して与えるセキュリティ制限であり、
ソースポリシー:プロトコル、ドメイン名、ポートが同じであることを意味します.
Spring BootフレームRESTfulインターフェースはドメインをまたぐことを解決します.
ここはプロファイルを設定する方式で解決します.
package com.prereadweb.config.cors;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;

/**
 * @Description:     
 * @author: Yangxf
 * @date: 2019/4/19 14:43
 */
@Configuration
public class CorsConfig {

    private CorsConfiguration buildConfig() {
        CorsConfiguration corsConfiguration = new CorsConfiguration();
        corsConfiguration.addAllowedOrigin("*"); // 1        
        corsConfiguration.addAllowedHeader("*"); // 2         
        corsConfiguration.addAllowedMethod("*"); // 3          
        return corsConfiguration;
    }

    @Bean
    public CorsFilter corsFilter() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", buildConfig()); // 4          
        return new CorsFilter(source);
    }
}
 
「*」:全部です.「*」:すべてのインターフェースに適合することを表します.
addAllowedOriginメソッドは追加のアクセス元アドレスです.「*」を使用しない場合、すなわちすべてのソースにアクセスできるようにすると、複数のアクセス源を設定して制御することができる. 
例えば:
corsConfiguration.addAllowedOrigin("http://www.aimaonline.cn/"); 
corsConfiguration.addAllowedOrigin("http://test.aimaonline.cn/");