springboot + Vue前后端项目(第十九记)
在Spring Boot和Vue前后端项目中,通常会涉及到跨域请求的处理。以下是一个简单的跨域配置示例,在Spring Boot中使用Spring Security进行配置:
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
// 其他安全配置
.cors(); // 启用CORS
}
@Configuration
public static class WebConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**") // 允许跨域的路径
.allowedOrigins("http://localhost:8080") // 前端服务地址
.allowedMethods("GET", "POST", "PUT", "DELETE") // 允许的方法
.allowedHeaders("*") // 允许的请求头
.allowCredentials(true); // 是否允许凭证
}
}
}
在这个配置中,我们定义了一个SecurityConfig
类,它扩展了WebSecurityConfigurerAdapter
并在HttpSecurity
中启用了CORS。同时,我们定义了一个内部配置类WebConfig
实现了WebMvcConfigurer
接口,在其addCorsMappings
方法中配置了CORS的相关属性。
请注意,根据你的实际需求,你可能需要修改allowedOrigins
以包含你的Vue前端服务的实际地址。
这个配置确保了Spring Boot后端允许来自指定来源(例如,Vue开发服务器运行在8080端口)的跨域请求。
评论已关闭