什么时候在浏览器上删除身份验证cookie

When do authentication cookie remove on browser

我有一个 MVC 4 应用程序。我很好奇是什么特定代码触发了我浏览器上设置的 .ASPXAUTH cookie 身份验证的删除。 我尝试调试每一行以确定我的哪些代码触发了在我的浏览器上删除票证但似乎我下面的代码都没有这样做,我总是检查我的浏览器是否身份验证票证仍然存在于每一行我调试时进入的代码。我发现 .ASPXAUTH cookie 只有在重定向到其他页面时才会被删除。这个有什么解释吗??因为我打算在浏览器上设置一个 cookie 或会话,然后再将其删除。 :)

if (User.Identity.IsAuthenticated)
            {
                FormsAuthentication.SignOut();
                HttpRuntime.Close();
                FormsAuthentication.RedirectFromLoginPage(User.Identity.Name, false);

            if (Request.Cookies[FormsAuthentication.FormsCookieName] != null)
                {
                    var cookie = new HttpCookie(FormsAuthentication.FormsCookieName);
                    cookie.Expires = DateTime.Now.AddDays(-1);
                    Response.Cookies.Add(cookie);
                }
}

请参考下面的内容link以准确了解 MVC 中的表单身份验证机制

http://support.microsoft.com/kb/910443

https://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication.signout.aspx