Gateway 实现跨域
生活随笔
收集整理的這篇文章主要介紹了
Gateway 实现跨域
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、 跨域概念
跨源資源共享(CORS)詳情概念:?跨源資源共享(CORS) - HTTP | MDN
解釋
????????跨域首先會發送一個 預檢請求,OPTIONS,去問服務器能不能跨域服務器告訴他能跨域,就可以3、4的訪問了怎么告訴它能跨域? 需要設置響應頭,返回給游覽器二、Gateway 實現網關統一配置,設置響應頭實現跨域
引入要想利用Gateway 實現springboot中的跨域,springboot提供了一個過濾器CorsWebFilter,只需要把這個過濾器配置好后,放到IOC容器中即可怎么配置?
?第一步:需要new?CorsWebFilter類,由它的構造方法可知需要傳入UrlBasedCorsConfigurationSource但是查看源碼可知,它一個接口,進而需要找到它的實現類,????????? ? ? ? ? ? ? ? ? ?UrlBasedCorsConfigurationSource
?
?
第二步:調用registerCorsConfiguration()設置,配置類信息,由方法的參數可知,需要傳入兩個參數,
????????????????第一個參數,表示任意路徑都需要進行配置
????????????????第二個參數,表示配置的信息
第三步:創建配置信息類CorsConfiguration
第四步:設置配置信息
@Configuration public class CorsConfigurationConfig {/*** 想要實現跨域,springboot提供了跨域filter,CorsWebFilter類* @return*/@Beanpublic CorsWebFilter corsWebFilter(){// 2、跨域的配置信息UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();// 4、配置設置CorsConfiguration corsConfiguration = new CorsConfiguration();// 配置跨域corsConfiguration.addAllowedHeader("*"); //允許哪些頭訪問corsConfiguration.addAllowedMethod("*"); //允許哪些請求方式進行跨域corsConfiguration.addAllowedOrigin("*"); // 允許哪個請求來源進行跨域corsConfiguration.setAllowCredentials(true); // 是否允許攜帶cookie進行跨域// 3、設置注冊配置,需要CorsConfigurationsource.registerCorsConfiguration("/**",corsConfiguration);// 1、需要傳入配置類return new CorsWebFilter(source);} }總結
以上是生活随笔為你收集整理的Gateway 实现跨域的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PCB设计——购买元器件出现的问题
- 下一篇: ssl 2133 腾讯大战360#spf