首页 文章

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

提问于
浏览
5

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

enter image description here

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

我尝试了本文中概述的方法,但它没有使用Windows Auth而不是Forms Auth?How to redirect unauthorized users with ASP.NET MVC 6

任何帮助,将不胜感激 .

1 回答

  • 11

    使用the status code pages middleware .

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

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

    app.UseStatusCodePagesWithRedirects("~/errors/{0}");
    

相关问题