C# 如何在asp.net MVC 4中手动删除cookie
我需要手动删除身份验证cookie(而不是使用FormsAuthentication.SignOut whcih,因为某些原因不起作用)。我试过了C# 如何在asp.net MVC 4中手动删除cookie,c#,asp.net-mvc,C#,Asp.net Mvc,我需要手动删除身份验证cookie(而不是使用FormsAuthentication.SignOut whcih,因为某些原因不起作用)。我试过了 System.Web.HttpContext.Request.Cookies.Remove(cookieName); // for example .ASPXAUTH System.Web.HttpContext.Response.Cookies.Remove(cookieName); // for example .ASPXAUTH FormsAu
System.Web.HttpContext.Request.Cookies.Remove(cookieName); // for example .ASPXAUTH
System.Web.HttpContext.Response.Cookies.Remove(cookieName); // for example .ASPXAUTH
FormsAuthentication.SignOut(); // I don't know why this one does not work
这些命令都不起作用。事实上,响应cookie是空的,请求cookie包含我要删除的cookie。当执行以下命令时,它不再包含我删除的cookie,但在浏览器中,cookie仍然存在,即使在注销后,我也可以执行授权用户可以执行的操作 试试看:
if ( Request.Cookies["MyCookie"] != null )
{
var c = new HttpCookie( "MyCookie" );
c.Expires = DateTime.Now.AddDays( -1 );
Response.Cookies.Add( c );
}
有关的详细信息。
c.Expires=DateTime.Now.AddDays(-1)代码>
这不会立即清除cookies
使用这个:c.Expires=DateTime.Now.AddSeconds(1)代码>
这将立即清除cookie。我曾手动设置身份验证cookie,但名称与表单身份验证cookie名称不同。在我将其更改为身份验证后,SignOut()实际上起了作用。不管怎样,谢谢这能回答你的问题吗?