diff --git a/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/config/GlobalCorsConfig.java b/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/config/GlobalCorsConfig.java new file mode 100644 index 000000000..e1d506624 --- /dev/null +++ b/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/config/GlobalCorsConfig.java @@ -0,0 +1,28 @@ +package com.pig4cloud.pigx.gateway.config; + +import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; +import org.springframework.cloud.gateway.config.GlobalCorsProperties; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.cors.reactive.CorsWebFilter; +import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource; + + +/** + * Spring Cloud Gateway 跨域配置 + * + * @author jclazz + * @date 7/5/2019 + * @since 3.1.0 + */ +@Configuration +public class GlobalCorsConfig { + @ConditionalOnBean(GlobalCorsProperties.class) + @Bean + CorsWebFilter corsWebFilter(GlobalCorsProperties globalCorsProperties) { + UrlBasedCorsConfigurationSource source = + new UrlBasedCorsConfigurationSource(); + source.setCorsConfigurations(globalCorsProperties.getCorsConfigurations()); + return new CorsWebFilter(source); + } +}