重定向到ASP.NET Core的自定义"访问被拒绝"页面

Tor*_*y E 8 authentication asp.net-core

我编写了一个使用Windows身份验证的ASP.NET Core 1.0网站.我已经实现了授权,并且按预期工作.目前,当给定用户的身份验证失败时,会显示通用的"HTTP 403"错误页面.

在此输入图像描述

如何配置ASP.NET Core以便重定向到我自己的自定义"访问被拒绝"页面?

我尝试了本文中概述的方法,但它对我不起作用(可能是因为我使用的是Windows Auth而不是Forms Auth?) 如何使用ASP.NET MVC 6重定向未授权用户

任何帮助,将不胜感激.

Set*_*Set 15

使用状态代码页中间件.

app.UseStatusCodePages(async context => {
  if (context.HttpContext.Response.StatusCode == 403)
  {
     // your redirect
  }
});
Run Code Online (Sandbox Code Playgroud)

您还可以选择更通用的方法app.UseStatusCodePagesWithRedirects.中间件可以处理重定向(具有相对或绝对URL路径),将状态代码作为URL的一部分传递.例如,以下将重定向到~/errors/403403错误:

app.UseStatusCodePagesWithRedirects("~/errors/{0}");
Run Code Online (Sandbox Code Playgroud)