仅为C#MVC中的一个选项卡浏览器设置cookie

时间:2015-10-01 13:32:28

标签: c# asp.net-mvc cookies

如何分别为浏览器的每个标签设置cookie?我在MVC 5中有日志记录用户的应用程序。 问题: 我记录了例如在FireFox中应用程序在第一个选项卡中,然后在第二个选项卡中我以其他用户身份登录之后,我刷新第一个选项卡,我看到第二个用户的信息。但我希望有两个标签,其中有两个已记录的不同用户。我怎样才能做到这一点?谢谢。 以下是设置cookie的代码的一部分:

 FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(1, model.UserName, DateTime.Now, DateTime.Now.AddMinutes(60), false, userData);

                string encTicket = FormsAuthentication.Encrypt(authTicket);
                HttpCookie faCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
                Response.Cookies.Add(faCookie);

2 个答案:

答案 0 :(得分:0)

我无法想到只使用cookie的方法,因为浏览器在发出请求时总会发送它为域名提供的cookie。

您可以添加一个隐藏字段或带有唯一会话ID的URL参数,它与auth的cookie结合使用,可以让您确定用户是否打开了多个标签,或者如果标记不是,则强制登录与cookie一起提供。

答案 1 :(得分:0)

您可以在服务器端使用两个浏览器(例如FF& Chrome)或两个域名作为应用程序。我认为没有带有Windows(或标签)依赖cookie引擎的浏览器。 也许你应该为自己的目的创建自己的工具:)