【发布时间】:2011-12-10 12:48:53
【问题描述】:
在 ASP.NET MVC3 控制器操作中,我想注销用户并返回 401 状态代码。代码很简单:
public ActionResult Index()
{
FormsAuthentication.SignOut();
HttpContext.Response.StatusCode = 401;
return null;
}
当我设置状态码时,用户没有退出。为什么?如果我删除状态代码行,则用户已注销,但我不想返回 200 状态。
这里发生了什么?我怎样才能达到预期的行为?
这就是我最终解决问题的方式:
if (Request.IsAjaxRequest())
{
FormsAuthentication.SignOut();
Response.StatusCode = 401;
Response.Flush();
return null;
}
else
{
FormsAuthentication.SignOut();
return new HttpUnauthorizedResult();
}
【问题讨论】:
标签: c# asp.net asp.net-mvc asp.net-mvc-3 forms-authentication