我需要手动删除身份验证cookie(而不是使用FormsAuthentication.SignOut whcih由于某些原因不起作用).我试过了
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
Run Code Online (Sandbox Code Playgroud)
这些命令都不起作用.事实上,响应cookie是空的,请求cookie包含我想删除的cookie,当执行以下命令它不再包含我删除的cookie但在浏览器中cookie仍然存在,我能够做的事情授权用户甚至可以退出.
Mat*_*ski 65
尝试:
if ( Request.Cookies["MyCookie"] != null )
{
var c = new HttpCookie( "MyCookie" );
c.Expires = DateTime.Now.AddDays( -1 );
Response.Cookies.Add( c );
}
Run Code Online (Sandbox Code Playgroud)
有关MSDN的更多信息.
小智 6
c.Expires = DateTime.Now.AddDays(-1);
这不会立即清除 cookie。
使用这个:c.Expires = DateTime.Now.AddSeconds(1);
这将立即清除cookie。
| 归档时间: |
|
| 查看次数: |
34368 次 |
| 最近记录: |