我正在做一個ajax調用,如果用戶不是管理員,我想拋出401類型的錯誤 - 未經授權,然後讓web.config重定向用戶到我的拒絕訪問頁面:拋出401的錯誤未經授權,所以Web.config顯示適當的頁面
<customErrors mode="On">
<error statusCode="500" redirect="~/InternalError.html"/>
<error statusCode="401" redirect="~/AccessDenied.aspx"/>
</customErrors>
正如你所看到的,我有一個類型500 - 內部服務器錯誤來處理其他錯誤。但是當我運行這段代碼:
if (user.Type != AppUser.UserType.SystemAdministrator)
{
throw new HttpException((int)HttpStatusCode.Unauthorized, "Unauthorized");
}
web.config中認爲,500被拋出,顯示InternalError.htm而不是AccessDenied.aspx。我如何告訴我的ASP.NET應用程序拋出401而不是500,所以會顯示正確的錯誤頁面?
這不是MVC。
可能重複(http://stackoverflow.com/questions/217678/how生成一個401錯誤編程方式在一個ASP網頁) – Caramiriel
我編輯了你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 –