最近在工作中遇到了一个问题,具体实现是从A站跳到B站(taget=”_blank”)去完成一个操作,然后再从B站跳回A站指定的URL完成数据保存,事涉数据安全性问题,所以跳回A站的URL指定的方法是需要鉴权验证是否登录的。
但问题就出在这里,发现跳回A站的动作可以执行,但是跳回执行后(跳到了指定的URL)却直接返回到了A站的登录界面,鉴权失败了,未发现登录的session信息。然而此时刷新A站的登录页面,发现session并没有超时,仍然可用。
后经验证,发现了一个问题,即使用域名登录A站和使用IP地址登录A站,所生成的sessionID是不同的,即浏览器并不认为A站的域名和A站的IP是一个东西,它认为这是两个不同的东西,然后再检查代码,发现登录的时候使用的是域名,而跳回的时候确实使用的是IP地址(站内配置的),修改之后问题解决。
总结:同一个网站,通过域名登录和通过IP登录,所产生的session id是不相同的,如果希望使用登录时的session信息,那么调用的时候需要注意与登录方式(域名还是IP)保持一致才可以。
域名登录和IP登录的session问题
最新推荐文章于 2024-06-03 18:27:02 发布