vuejs (前端项目) + spring mvc(后台项目),每次ajax请求都是新的session Id
最近学习使用vuejs 前后端分离原有的项目,使用vue-resource 实现ajax请求,后端项目设置了允许跨域访问,虽然实现了跨域异步请求,但是每次ajax请求的session都不一样,导致无正常获取登录信息?
搜索了很久,一般都是说怎么实现跨域请求,但是没有查到,怎么保证session一致的方法。
不知道怎么解决这个问题?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
问题解决了,解决方式如下:
1、参考ccfish的意见,安装了http-proxy-middleware插件,配置了如下内容:
结果报错:
修改为:
可以正常使用;
另外我把vue-resource 切换成了axios
配置如下:
后台项目拦截器中增加了,修改如下:
Access-Control-Allow-Credentials 设为true的话,Access-Control-Allow-Origin就不能设为*了,只好改成具体的域了,这样就可以多次请求取到的session id就一致了。
最后非常感谢ccfish 、暗暗啊和工口会员!
ps:
原来使用的验证就是token,主要是项目小,要求也不高,不想用token了,
vuejs 开发模式下可以用proxyTable做NODE代理以避免浏览器跨域,生产环境下,可以通过NGINX等做代理为同一域名。。。
跨域应该是不能共享session的吧,因此每次都会生成一个sessionid.
建议采用token去认证。可选方案jwt、oauth等
多半是因为没有开启cookie共享,credential前后端都设置一下