现在的场景是,用户通过登录页面输入账户、密码完成登录操作后,进入到的页面内,包含着两个不同子系统的入口。理想情况下,通过刚才的登录操作,客户的基本信息已被服务器保存到session中,并传给客户端一个sessionID。用户凭借着这个session ID在子系统A和子系统B中进行操作。
但实际情况是,由于子系统A和子系统B分别部署在不同的机器上,也就具备着两个不同的ip地址,导致用户进入子系统B后被服务器识别为新的客户端,因此服务器返回一个新的sessionID,原有的sessionID被覆盖。当用户再想从子系统B切换到子系统A中时,由于原有的sessionID被覆盖,也就因此失效。导致用户不能在子系统A中正常操作,实际情况中产生被迫登出的效果。
因此,当前寻求一个解决办法,能使同一用户在主登录页面一次登录后,将获取的session ID同时传递给不同IP的两个系统中。即当用户登录后进入子系统B时,服务器识别出为新的客户端,但当检测出该用户已被分配一个sessionID后,不再分配新的sessionID,而是把旧的session ID分配回去,达到跨IP共享同一个sessionID的效果。
如何实现多客户端跨IP共享同一个session?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-