最近我正在使用asp.net webforms开发一个网站,它使用in proc sessions。我注意到会话ID在浏览器选项卡之间共享。因此,我想知道以下情况你会怎么做:
问题:在同一浏览器中多次登录不同用户的问题。
- 用户在浏览器选项卡1中打开网站并登录为"user1" - 存储在session中
- 用户在浏览器选项卡2中打开网站并登录为"user2" - 存储在session中
- 此时,由于session ID在浏览器选项卡之间共享,会话信息现在指向"user2"
- 用户在选项卡1上尝试操作,结果突然显示"user2"的信息
如何在选项卡1中提醒用户已更改或如何强制选项卡1用户注销?
我的初步想法是通过数据库或应用程序对象保持具有会话ID的活动用户列表,但我面临的问题是,在选项卡1中,我将用什么来与该列表进行比较?当我发出请求时,HttpContext.Current.User会更新为"user2",我如何知道浏览器选项卡1最初是为"user1"而打开的?
感谢任何人让我知道上述问题的任何替代方法或最佳实践
敬礼DotnetShadow