1. 程式人生 > >Spring Security (CORS)跨域資源訪問配置

Spring Security (CORS)跨域資源訪問配置

跨域 class 瀏覽器和服務器 fig w3c xmlhttp nbsp gin ima

1、CORS介紹

CORS是一個W3C標準,全稱是"跨域資源共享"(Cross-origin resource sharing)。它允許瀏覽器向跨源(協議 + 域名 + 端口)服務器,發出XMLHttpRequest請求,從而克服了AJAX只能同源使用的限制。

CORS需要瀏覽器和服務器同時支持。它的通信過程,都是瀏覽器自動完成,不需要用戶參與。對於開發者來說,CORS通信與同源的AJAX通信沒有差別,代碼完全一樣。瀏覽器一旦發現AJAX請求跨源,就會自動添加一些附加的頭信息,有時還會多出一次附加的請求,但用戶不會有感覺。
因此,實現CORS通信的關鍵是服務器。只要服務器實現了對CORS的支持,就可以跨源通信。

2、基於Spring Boot + Spring Security的配置代碼

1> 開啟Spring Security cors支持

 @Override
    protected void configure(HttpSecurity http) throws Exception {
        // 允許跨域訪問
        http.cors();
    }

2、在Spring容器中添加以個CorsConfigurationSource實例

技術分享圖片

SpringSecurity會自動尋找name=corsConfigurationSource的Bean

技術分享圖片

3、配置文件中關於CORS的屬性

技術分享圖片

Spring Security (CORS)跨域資源訪問配置