3

我一直在尝试重定向错误消息 401.2。:未经授权:由于服务器配置,登录失败,如下所示:

<customErrors defaultRedirect="Error.aspx" mode="On">
      <error statusCode="401" redirect="Unauthorized.aspx" />
    </customErrors>

但它从未真正重定向。它仍然显示默认的访问被拒绝页面。我在那里做错了什么?

4

2 回答 2

4

将以下内容添加到 global.asax 似乎工作得很好:

void Application_EndRequest(object sender, EventArgs e)
        {
            if (Response.StatusCode == 401)
                Response.Redirect("Unauthorized.aspx");
        }
于 2012-06-10T14:58:28.637 回答
0

首先试试这个:

在您的 Unauthorized.aspx.cs Page_Load 方法上设置:

private void Page_Load(System.Object sender, System.EventArgs e)
{
    //Put user code to initialize the page here 
    Response.StatusCode = 401;
    Response.TrySkipIisCustomErrors = true;
}

有关详细信息,请参阅此:

HttpResponse.TrySkipIisCustomErrors 属性

IIS 7 错误页面超过 500 个错误

第二次尝试这个: 除了标记之外,还使用这个来绕过 IIS 错误页面:

<system.webServer>
      <httpErrors existingResponse="PassThrough" />
</system.webServer>
于 2012-06-10T14:29:24.683 回答