2012-07-18 123 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中

應用認證和授權