- 在做一个前后端分离的项目是遇到的问题,首先在一个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);
}
}
就是这么简单!!!