前后端分离项目session跨域失效的解决方案
-
在做一个前后端分离的项目是遇到的问题,首先在一个Controller里面request.getSession().setAttribute(“XXX”,“XXX”);然后在另一个Controller里获取request.getSession.getAttribute(“XXX”);因为前后端分离的原因,前端项目部署的服务器地址和后端项目部署的服务器地址不一样,所以存在跨域session失效的问题,获取的session为null,在网上查了很多博客,技术帖,都没有得到解决,最后做了全局配置,代码如下:
import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; @Configuration public class WebMvcConfig extends WebMvcConfigurerAdapter { // 设置跨域访问 @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOrigins("http://ss.91sjyx.com") .allowedMethods("GET", "HEAD", "POST", "PUT", "PATCH", "DELETE", "OPTIONS", "TRACE") .allowCredentials(true); } }
就是这么简单!!!