【问题标题】:Bug or misconfigured? ASP.NET Core 2.1 firing 404 error on Access Denied错误或配置错误? ASP.NET Core 2.1 在拒绝访问时触发 404 错误
【发布时间】:2018-07-26 22:43:39
【问题描述】:

我不确定我是否发现了一个错误,或者我只是搞砸了配置。

我有一个使用 AzureADB2C 身份验证的 ASP.NET Core 2.1 Razor 网站,使用新的“预打包”配置实用程序)。当我尝试访问我的测试用户无权访问的页面时,它会返回一个通用 404 页面,而不是转到预定义的 AccessDenied 页面。

查看浏览器的 URL,它试图去:

https://localhost:44310/Account/AccessDenied?ReturnUrl=%2FAbout

但我认为应该是:

https://localhost:44310/AzureADB2C/Account/AccessDenied?ReturnUrl=%2FAbout (注意:如果我手动把它放到浏览器中,它可以正常工作)

当您退出时,您会:

https://localhost:44310/AzureADB2C/Account/SignedOut

有谁知道是否有控制这个重定向的配置?或者这是新的 2.1 身份验证模块中的错误? (如果是这样,有什么想法可以解决它,直到它被修复?)

【问题讨论】:

    标签: authentication azure-ad-b2c asp.net-core-2.1


    【解决方案1】:

    我将此作为错误报告给 MSFT,他们正在调查。但我确实想出了一个解决方法,以防其他人遇到同样的问题。

    MSFT 网站上的问题是:https://developercommunity.visualstudio.com/content/problem/301357/microsoftaspnetcoreauthenticationazureadb2cui-acce.html

    解决方法是使用重写中间件来重定向调用。将以下内容放入 Startup.cs 类的 Configure 方法中即可解决此问题。

            // Workaround for AccessDenied URL error in MSFT code
            RewriteOptions rewrite = new RewriteOptions().AddRedirect("^Account/AccessDenied(.*)", "AzureADB2C/Account/AccessDenied$1");
            app.UseRewriter(rewrite);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-27
      • 1970-01-01
      • 1970-01-01
      • 2016-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多