ASP.NET会话ID之间的浏览器选项卡共享 [英] ASP.NET session id shared amongst browser tabs
问题描述
我最近一直在使用,在进程内会话使用asp.net web表单开发一个网站,我注意到,会话ID跻身浏览器标签共享。所以我想知道你会在下列情况下做什么:
I've recently been developing a website using asp.net webforms that uses in proc sessions and I noticed that session ids are shared amongst browser tabs. So I was wondering what you would do for the following situations:
问题:
多次登录不同用户在一个浏览器的问题。
Problem: Multiple logins with different users in the one browser problem
- 用户打开浏览器选项卡1,登录
与USER1 - 店
会议 - 用户打开浏览器选项卡,以用户2登录 - 存储在会话
- 在这个阶段,会话信息现在指向用户2,因为会话ID是如何浏览器之间共享
标签 - 用户试图在标签1的动作,突然他们有用户2
信息
如何提醒您在选项卡1用户,该用户已更改或如何强制用户TAB1注销?
我最初的想法是让通过数据库或应用程序对象的活跃用户与会话ID的名单,但我面对的问题是,在标签1我该怎么来比较列表,当我做了请求的HttpContext .Current.User将与用户2我怎么知道浏览器选项卡1最初的USER1
My initial thought was to keep a list of active users with session id via database or application object, but the problem I face is that in tab 1 what am I going to compare the list against, when I do a request the HttpContext.Current.User would be updated with "user2" how do I know browser tab 1 was initially for "user1"
鸭preciate有人让我知道任何替代品或上述问题的最佳实践
Appreciate anyone letting me know of any alternatives or best practices for the above problem
问候DotnetShadow
Regards DotnetShadow
推荐答案
你为什么不提醒用户2时,在日志代替?有了这样一个信息:你已经登录的用户1,你确定要作为另一个用户重新登录?
Why don't you warn when user2 logs in instead? With a message like "You are already logged in as user1, are you sure you want to login again as another user?"
这篇关于ASP.NET会话ID之间的浏览器选项卡共享的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!