springboot 跨域配置类
时间: 2024-09-25 13:06:00 浏览: 104
Spring Boot 的跨域(CORS)配置通常是在 WebSecurity 或者 Filter 中完成的,因为 CORS 是在 HTTP 请求级别进行处理的。如果你使用的是 Spring Security,可以在 `WebSecurityConfigurerAdapter` 或 `SecurityFilterChain` 上配置。以下是基本步骤:
1. 配置`@EnableWebMvc`注解,启用 MVC 功能。
```java
@Configuration
@EnableWebMvc
public class WebConfig {
//...
}
```
2. 如果使用的是 Spring Security 4.x,可以在 `HttpSecurity` 对象上添加允许所有来源的 CORS 允许头:
```java
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable() // 如果不需要 CSRF 保护,可以禁用
.cors()
.and()
//其他安全配置...
}
}
```
3. 如果使用的是 Spring Security 5.x 或更高版本,使用 `CorsConfigurationSource` 和 `CorsRegistry`:
```java
@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*") // 允许所有来源
.allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS") // 允许的请求方法
.allowCredentials(true) // 是否允许携带凭据
.allowedHeaders("*") // 允许的所有请求头
.maxAge(3600); // 缓存策略
}
}
```
阅读全文