【发布时间】:2010-12-11 08:33:22
【问题描述】:
我正在开发一个小型网络应用程序,用于共享计算机。
当用户关闭浏览器窗口时,我希望删除会话和身份验证。
在登录页面中,我使用类似这样的方式来验证用户身份:
FormsAuthenticationTicket authTicket =
new FormsAuthenticationTicket(1,txtUser.Text,
DateTime.Now,
DateTime.Now.AddMinutes(5),
false,"");
string encTicket = FormsAuthentication.Encrypt(authTicket);
HttpCookie faCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
HttpContext.Current.Response.Cookies.Add(faCookie);
string redirectUrl = FormsAuthentication.GetRedirectUrl(txtUser.Text, false);
HttpContext.Current.Response.Redirect(redirectUrl);
如您所见,我已将“isPersistent”变量设置为 false。
这似乎可以在 Chrome 上运行(尚未在 IE 上测试),但是,当我在 Firefox 上运行应用程序并激活多个选项卡时,如果我关闭浏览器并再次打开,我仍然经过身份验证,并且 cookie 是还在!
这真的很奇怪,因为 cookie 应该在关闭时被删除...这是 Firefox 的错误,当您打开多个标签时?我该如何解决这个问题?
非常感谢您的帮助!
提前致谢
【问题讨论】:
标签: c# asp.net firefox authentication cookies