【Spring Cloud】Spring Cloud Gateway 中配置跨域
在Spring Cloud Gateway中配置跨域可以通过定义一个全局过滤器来实现。以下是一个配置全局跨域的示例:
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.reactive.CorsWebFilter;
import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource;
@Configuration
public class GlobalCorsConfig {
@Bean
public CorsWebFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration config = new CorsConfiguration();
config.setAllowCredentials(true); // 允许认证
config.addAllowedOrigin("*"); // 允许任何源
config.addAllowedHeader("*"); // 允许任何头
config.addAllowedMethod("*"); // 允许任何方法
source.registerCorsConfiguration("/**", config);
return new CorsWebFilter(source);
}
}
这段代码定义了一个全局的跨域过滤器,它将会对所有路由生效。在CorsConfiguration
中,我们设置了允许所有源、头和方法,并允许认证。在实际应用中,你应该根据自己的安全策略来配置这些参数,以确保只有安全的请求能够跨域访问。
评论已关闭