我正在进行ajax调用,如果用户不是管理员,我想抛出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。
答案 0 :(得分:1)