在应用程序启动期间,使用用户的登录 ID,我正在进行数据库调用并加载他的所有帐户并在会话中设置它们,如图所示
session.setAttribute("userinfo",userinfo);
在调用数据库之前,我正在使用服务层中的此帐户信息进行检查
现在的问题是,如果一个用户(拥有多个帐户)同时登录到同一个浏览器,它会创建相同的 sessionid,结果会话只有最后登录用户的信息。
无论如何我可以解决这个问题,可能是我存储数据的方式
请帮忙
在应用程序启动期间,使用用户的登录 ID,我正在进行数据库调用并加载他的所有帐户并在会话中设置它们,如图所示
session.setAttribute("userinfo",userinfo);
在调用数据库之前,我正在使用服务层中的此帐户信息进行检查
现在的问题是,如果一个用户(拥有多个帐户)同时登录到同一个浏览器,它会创建相同的 sessionid,结果会话只有最后登录用户的信息。
无论如何我可以解决这个问题,可能是我存储数据的方式
请帮忙
您可以使用URL 重写而不是 cookie。缺点是会话 ID 暴露在 URL 中。
可能不是最好的解决方案,但这将有助于解决问题。
您可以做的是将用户 ID 与 sessionid 相关联,并且在每次页面加载/点击时,您将检查 sessionid 是否与登录用户的用户 ID 匹配。如果匹配,请忽略并照常运行页面,否则您可以从数据库中获取用户信息并再次重新分配变量。