Spring Boot3 系列:Spring Boot3 跨域配置 Cors
在Spring Boot 3中,跨域资源共享(CORS)可以通过配置一个WebFilter
来实现。以下是一个配置示例:
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 CorsConfig {
@Bean
public CorsWebFilter corsWebFilter() {
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
,并设置了允许所有来源、所有请求头和所有方法的跨域请求。然后,将这个配置注册到UrlBasedCorsConfigurationSource
中,并创建了一个CorsWebFilter
的Bean,这个Bean会对所有传入的请求应用跨域策略。在实际使用中,可以根据具体需求调整config
的设置,例如只允许特定的域或方法。
评论已关闭