我一直在尝试重定向错误消息 401.2。:未经授权:由于服务器配置,登录失败,如下所示:
<customErrors defaultRedirect="Error.aspx" mode="On">
<error statusCode="401" redirect="Unauthorized.aspx" />
</customErrors>
但它从未真正重定向。它仍然显示默认的访问被拒绝页面。我在那里做错了什么?
我一直在尝试重定向错误消息 401.2。:未经授权:由于服务器配置,登录失败,如下所示:
<customErrors defaultRedirect="Error.aspx" mode="On">
<error statusCode="401" redirect="Unauthorized.aspx" />
</customErrors>
但它从未真正重定向。它仍然显示默认的访问被拒绝页面。我在那里做错了什么?
将以下内容添加到 global.asax 似乎工作得很好:
void Application_EndRequest(object sender, EventArgs e)
{
if (Response.StatusCode == 401)
Response.Redirect("Unauthorized.aspx");
}
首先试试这个:
在您的 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 错误页面:
<system.webServer>
<httpErrors existingResponse="PassThrough" />
</system.webServer>