场景:
- springboot+shiro+vue
- shiro框架使用cookie做验证令牌
- vue项目请求路径:
127.0.0.1:9528/#/....
- 后端api路径:
127.0.0.1:7000/saas/...
- cookie是根据域名进行存储的
1.猜测:登陆成功后,在当前浏览器输入一个正确的后端请求,便会自动带上cookie,结果如下:
(测试是成功的)
image.png
2.此时在vue项目中使用axios调用一个正确的后端api
image.png
到这里,可以总结,如果采用了'前后端分离',任使用cookie做令牌的话,在前端的域名中看不见cookie,下一次请求后端,cookie还是会自动加在后端域名请求头上。之前我非要纠结的问题:"cookie没有响应得到",也是由于没有理解cookie的存储空间跟请求域名的关系,看不见coolie其实无伤大雅。
另外在解决上述疑惑过程中中,发现了一种域名代理的方法来解决跨域问题,并且cookie也会出现前端的域名头部信息之中,
1.在vue中:
微信图片_20180703152126.png
微信图片_201807031521261.png
微信图片_201807031521262.png
image.png
2.在后端项目中将/saas去掉,mbpssionid就会保存在前端域名下的cookie之中了。就不截图了..
即改成: server.context-path=/
网友评论