如何更改 asp.netcore 3.1 的默认登录路径

时间:2021-07-10 11:06:12

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

该应用正在使用 Azure AD B2C 进行身份验证

services.AddAuthentication(AzureADB2CDefaults.AuthenticationScheme)
                   .AddAzureADB2C(options => { 
                       Configuration.Bind("AzureAdB2C", options);
                   });

默认情况下,当页面具有 [Authorize()] 属性时,如果用户未通过身份验证,它会重定向到 Azure AD B2C 登录页面。

相反,我希望重定向返回应用程序主页。实现这一目标的方法是什么?

编辑 提供答案后创建的属性。这解决了我的问题。

公共类 AuthorizeRedirectAttribute : 属性,IAuthorizationFilter { 公共 AuthorizeRedirectAttribute() { }

    public void OnAuthorization(AuthorizationFilterContext filterContext)
    {
        if(!filterContext.HttpContext.User.Identity.IsAuthenticated)
        {
            filterContext.Result = new RedirectToPageResult("Landing");
        }
    }
}

1 个答案:

答案 0 :(得分:0)

我认为您可以在自定义异常处理中间件或身份验证过滤器中编写重定向。