前端是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;
}