cookie跨域问题

场景:

  • springboot+shiro+vue
  • shiro框架使用cookie做验证令牌
  • vue项目请求路径: 127.0.0.1:9528/#/....
  • 后端api路径: 127.0.0.1:7000/saas/...
  • cookie是根据域名进行存储的
image.png
cookie跨域问题_第1张图片
image.png

1.猜测:登陆成功后,在当前浏览器输入一个正确的后端请求,便会自动带上cookie,结果如下:
(测试是成功的)


image.png

2.此时在vue项目中使用axios调用一个正确的后端api


cookie跨域问题_第2张图片
image.png

到这里,可以总结,如果采用了'前后端分离',任使用cookie做令牌的话,在前端的域名中看不见cookie,下一次请求后端,cookie还是会自动加在后端域名请求头上。之前我非要纠结的问题:"cookie没有响应得到",也是由于没有理解cookie的存储空间跟请求域名的关系,看不见coolie其实无伤大雅。


另外在解决上述疑惑过程中中,发现了一种域名代理的方法来解决跨域问题,并且cookie也会出现前端的域名头部信息之中,
1.在vue中:


微信图片_20180703152126.png

微信图片_201807031521261.png

微信图片_201807031521262.png

cookie跨域问题_第3张图片
image.png

2.在后端项目中将/saas去掉,mbpssionid就会保存在前端域名下的cookie之中了。就不截图了..
即改成: server.context-path=/

你可能感兴趣的:(cookie跨域问题)