前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >跨域访问sessionId不一致问题【面试+工作】

跨域访问sessionId不一致问题【面试+工作】

作者头像
Java帮帮
发布2018-09-29 17:39:08
2K0
发布2018-09-29 17:39:08
举报

跨域访问sessionId不一致问题【面试+工作】

在开发过程中遇到这么一个问题,让我花了一个下午的大好时光才解决。但是解决玩之后,发现那么的容易。就是查找资料的时候很费劲。这里把问题记录一下。

问题的产生

  • 流程是这样的,要做一个用户登录的接口。在登录页面,前端先请求验证码,然后输入用户名密码和验证码之后,请求登录接口。
  • 这里存在两个接口,验证码接口和登录接口。在验证码接口中我用session保存验证码,在登录接口中我从session取出验证码进行校验。 两个接口的代码如下:

*经过postman工具简单的接口测试之后,没有问题。但是与前端进行接口联调的时候发现了问题。 两次获取的sessionid不一致,导致在登录时候,没有获取session中的验证码!

查找原因

百思不得其解!为什么用postman测试是正常的呢?而与前端联调就有这种问题。 原来后台是做了一个跨域访问的设置

主要解释如下: registry.allowedOrigins(““)设置跨域访问的域名,如果是,默认都可以访问。 这个方法是后来找到问题后,自己加上去的 registry.allowCredentials(true)设置是否允许客户端发送cookie信息。默认是false

解决问题

其实最后就做了两件事情, 1.服务端设置可以接收cookie信息

2.在ajax请求中设置发送cookie信息

再看看结果,sessionid就一致了。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-09-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java帮帮 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题的产生
  • 查找原因
  • 解决问题
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档