关闭浏览器时,使ASPXAUTH Cookie过期
作者:互联网
我通过使用以下代码创建一个ASPXAUTH cookie
var authTicket = new FormsAuthenticationTicket(2, model.Name, DateTime.Now, DateTime.Now.AddMinutes(ConfigSettings.SessionTimeout),
false, result.UniqueId.ToString());
var authCookie = new HttpCookie(FormsAuthentication.FormsCookieName,
FormsAuthentication.Encrypt(authTicket))
{
HttpOnly = true,
Expires = authTicket.Expiration
};
Response.AppendCookie(authCookie);
当用户关闭浏览器(IE和Chrome)并再次登录时,会话仍处于活动状态,则APSXAUTH cookie不会过期.我将其设置为非持久性.我也确定所有浏览器实例均已关闭.
我想念什么?
解决方法:
由于您手动设置Expires属性,因此浏览器会在客户端创建一个持久性cookie.
只是不要在此处设置任何值,请将该行注释掉.这将创建一个cookie,只要打开浏览器,它就一直存在.
请注意,通常这意味着即使用户关闭了选项卡,cookie仍然存在.当浏览器进程关闭并重新启动时,它消失.
标签:cookies,forms-authentication,aspxauth,c 来源: https://codeday.me/bug/20191120/2042944.html