我有一个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);
}
}
请参考下面的链接,以获取有关MVC中表单身份验证机制的确切信息
http://support.microsoft.com/kb/910443
https://msdn.microsoft.com/zh-CN/library/system.web.security.formsauthentication.signout.aspx
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句