Asp.net mvc 4 不同浏览器之间的会话

Asp.net mvc 4 不同浏览器之间的会话,asp.net-mvc-4,c#-4.0,Asp.net Mvc 4,C# 4.0,我正在使用表单身份验证在ASP.NET MVC4 web应用程序中工作。 我有一个应用程序,其中用户登录以进入该应用程序,如果用户在浏览器中打开该应用程序并登录,并且如果用户在同一系统中的其他浏览器中打开该应用程序,则他们不应允许登录并发出警报消息,因为“用户已登录到其他浏览器”。同样的情况应该发生在同一浏览器的不同选项卡中,以及用户以前登录的同一浏览器的不同实例中。 请给我你的建议……这很棘手。您可能希望使用浏览器的本地存储来标识用户当前使用的浏览器。您可以尝试将SessionId保存在某个位

我正在使用表单身份验证在ASP.NET MVC4 web应用程序中工作。 我有一个应用程序,其中用户登录以进入该应用程序,如果用户在浏览器中打开该应用程序并登录,并且如果用户在同一系统中的其他浏览器中打开该应用程序,则他们不应允许登录并发出警报消息,因为“用户已登录到其他浏览器”。同样的情况应该发生在同一浏览器的不同选项卡中,以及用户以前登录的同一浏览器的不同实例中。
请给我你的建议……

这很棘手。您可能希望使用浏览器的本地存储来标识用户当前使用的浏览器。您可以尝试将SessionId保存在某个位置(可能是DB),并检查用户是否已通过SessionId登录。但是在同一个浏览器上?我认为这是不可能的。基本问题是区分用户是单击了链接还是在新选项卡中键入了地址。我看不出有经验的用户无法复制的可靠方法。但请想想你是否真的想这样做。我们使用一个做类似事情的应用程序。如果打开新页面(通过时间戳检查),则会使旧页面无效。但和它一起工作是一种痛苦。您应该真正尝试使应用程序与多选项卡兼容。