2012-07-18 203 views
5
(未授权)

我想抛出此行从全球ASAX的Application_Error投掷HTTP异常从的Application_Error

throw new HttpException((int)HttpStatusCode.Unauthorized, "Forbidden"); 

但由于某些原因,我在浏览器中获得200和401没有,你知道为什么吗?

更新:

protected void Application_Error(object sender, EventArgs e) 
{   
    throw new HttpException((int)HttpStatusCode.Unauthorized, "Forbidden"); 
} 
+1

你是否有表单身份验证。在web.config中启用?如果您在web.config中启用了表单身份验证,那么您可能会遇到这种情况。 – VJAI 2012-07-18 09:22:58

+0

@马克,谢谢,但没有我不。 – Shazam 2012-07-18 10:13:28

+1

Plz发布您的Application_Error – VJAI 2012-07-18 10:20:54

回答

1

此代码可以帮助你

protected void Application_Error(object sender, EventArgs e) 
{ 
    Response.StatusCode = (int)HttpStatusCode.Unauthorized; 
    Server.ClearError(); 
} 

然而,不是在Global.asax中设置状态代码,你应该在web.config中

应用认证和授权