【问题标题】:Azure AD Authentication: Redirect to originating pageAzure AD 身份验证:重定向到原始页面
【发布时间】:2022-07-15 14:45:23
【问题描述】:

我正在开发一个旧的 ASP.NET Web 表单应用程序,将其从 Windows 身份验证转换为 Azure AD 身份验证。我已经完成了正常流程,当用户打开主页但未获得授权时,用户被重定向到 Azure AD 进行登录,然后从那里转到配置的重定向页面。

我发现难以实现的唯一情况是,当用户从书签或电子邮件中单击特定页面的应用程序链接时,经过身份验证后,他被重定向到仅重定向 URL。我希望向用户显示他单击的确切页面链接。

我知道只能将单个 URL 配置为用作重定向 URL,并且在该特定页面中,我必须实现将用户重定向到原始页面的逻辑。但我无法找到任何方法来识别代码中的原始页面。

我的验证码在 Global.asax 文件中,如下所示

    void Application_AuthenticateRequest(object sender, EventArgs e)
    {
    if (!Request.IsAuthenticated && !Request.Path.ToLower().Contains("error"))
    {
    var properties = new AuthenticationProperties() { RedirectUri = "/"};
    
    HttpContext.Current.GetOwinContext().Authentication.Challenge(
    properties,
    OpenIdConnectAuthenticationDefaults.AuthenticationType);
    }
}

我在 Startup.cs 中提到了 Azure AD SSO 配置

如何从用户重定向到 Azure AD 身份验证页面的原始页面获取?

【问题讨论】:

    标签: asp.net webforms azure-active-directory single-sign-on


    【解决方案1】:

    您应该在会话变量(Global.asax --> Session_start 事件)中使用returnURL 和其他参数在通过Azure AD 成功验证后,它将被重定向到重定向URL(默认页面 - 静态)。从他们那里,您应该能够从会话中获取 returbURL 和参数。我试过这个方法,它工作正常

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-17
      • 2014-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多