Spring Boot 最簡單的解決跨域問題

跨域問題(CORS)

CORS全稱Cross-Origin Resource Sharing,意爲跨域資源共享。當一個資源去訪問另外一個不一樣域名或者同域名不一樣端口的資源時,就會發出跨域請求。若是此時另外一個資源不容許其進行跨域資源訪問,那麼訪問的那個資源就會遇到跨域問題java

解決問題

覆蓋默認的CorsFilter,添加GlobalCorsConfig配置文件來容許跨域訪問。web

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;

/**
 * 全局跨域配置
 */
@Configuration
public class GlobalCorsConfig {

    /**
     * 容許跨域調用的過濾器
     */
    @Bean
    public CorsFilter corsFilter() {
        CorsConfiguration config = new CorsConfiguration();
        //容許全部域名進行跨域調用
        config.addAllowedOrigin("*");
        //容許跨愈加送cookie
        config.setAllowCredentials(true);
        //放行所有原始頭信息
        config.addAllowedHeader("*");
        //容許全部請求方法跨域調用
        config.addAllowedMethod("*");
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", config);
        return new CorsFilter(source);
    }
}
相關文章
相關標籤/搜索