有没有办法让AuthorizeAttribute响应状态代码403 Forbidden而不是重定向?

Dan*_*ien 7 c# authorize-attribute http-status-code-403 asp.net-mvc-2

如果用户未登录并且他们请求标记的操作[Authorize],则响应是重定向到Account/LogOn操作(状态代码302 Found).

有没有办法让响应成为状态代码403 Forbidden?

Chr*_*ken 10

创建一个继承自的动作过滤器AuthorizeAttribute.然后覆盖此方法:

protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{ 
   Response.StatusCode = 403;
   Response.Status = "Forbidden";
   Response.StatusDescription = "Forbidden";
   Response.End();
   Response.Close();

}
Run Code Online (Sandbox Code Playgroud)