人工智慧 人臉識別 springcloud zuul 跨域問題補充
阿新 • • 發佈:2018-12-21
上一文中提到的解決跨域問題,依然是不完美,比較需要繼承spring提供的解決跨域的類WebMvcConfigerAdapter這個類重寫 addCrosMappings(CrosRegistry registry)這個方法,或者簡單的使用@CrosOrignal註解來實現解決跨域通過HTTP請求之間的資源跨域訪問問題,看了網上提供的一個基於zuul的閘道器層面解決的跨域問題解決方法在gateway層面進行處理
如果是單個介面進行跨域的訪問的方法(@CrosOrignal)這裡的allowCredentials是指允許cookie跨域訪問
CROS是指 跨域資源共享的縮寫意思。下面簡答手寫這個基於zuulFilter的跨域解決方案
@Configeration public class CorsConfig{ @Bean public CorsFilter corsFilter(){ final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource (); final CorsConfiguration config = new CorsConfiguration (); config.setAllowCredentials(true); config.setAllowedOrigins(Arrays.asList("*")); config.setAllowedHeaders(Arrays.asList("*")); config.setAllowedMethods(Arrays.asList("*")); config.setMaxAge(3600); source.registerCorsConfiguration("/**",config); return new CorsFilter(source); } }
這個就是基於zuulFilter的解決的程式碼,當然網上也有其他的解決方案,比如基於Nginx的解決跨域問題
還有其他補充跨域問題解決方法的同學可以留言。