抛出401未经授权的错误,所以Web.config显示适当的页面
我正在做一个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。
改为设置Response.StatusCode,它将触发重定向。
或者,您可以使用下面的内容:
throw new HttpException(401, "Unauthorized");
链接地址: http://www.djcxy.com/p/71845.html
上一篇: Throw error of 401 Unauthorized so Web.config shows appropriate page