1. 程式人生 > >人工智慧 人臉識別 springcloud zuul 跨域問題補充

人工智慧 人臉識別 springcloud zuul 跨域問題補充

上一文中提到的解決跨域問題,依然是不完美,比較需要繼承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的解決跨域問題
還有其他補充跨域問題解決方法的同學可以留言。