Vue每次请求sessionId都不一样

前端是vue2,使用webpack,后端使用java web

  • 开发环境出现登录接口可以访问,但是登录成功后发现SessionID没有保存到cookie中,导致第二次请求的时候,依旧显示没有权限
  • 首先考虑本地代码问题,例如有没有做特殊的封装
  • 如果前端使用了axios,需要在初始化的时候这样设置:
    axios.interceptor.withCredentials=true
  • 其次,考虑跨域问题,跨域问题我使用nginx做代理解决
  • 在使用nginx做代理的时候需要对其进行设置,因为nginx可能在代理的时候改变其cookie,设置类似如下:
location /xxxService 
	proxy_pass http://xxxxx: 
	proxy_set_header X-Real-IP $remote_addr;
	proxy_set_header Host $host;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	proxy_set_header X-Nginx-Proxy true;
	proxy_cookie_path /"/; HTTPOnly; Secure"; 
	proxy_set_header Cookie $http_cookie; 
}
  • 最后,如果是分布式服务,需要考虑改用token

猜你喜欢

转载自blog.csdn.net/geshi201028/article/details/130742136