我需要手动删除身份验证Cookie(而不是出于某些原因而不使用FormsAuthentication.SignOut)。我试过了
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 );
}
有关MSDN的更多信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句