2011-01-19 105 views

回答

10

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

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

} 
1

如果用户未登录,则更合适的状态码是401:未经授权。这是AuthorizeAttribute默认返回的内容。

FormsAuthenticationModule将捕获此返回码并将其转换为重定向。如果你可以禁用(或者甚至不加载它),那么这将被返回给调用者。

相关问题