【问题标题】:Azure AD authentication for only a part of the application仅对应用程序的一部分进行 Azure AD 身份验证
【发布时间】:2020-04-29 10:55:12
【问题描述】:

是否可以仅对应用程序的一部分使用 Azure AD 身份验证?

我在一所学校工作,我们的团队正在创建一个网络应用程序,其中一些用户需要使用他们的工作/学校帐户登录。 其他用户可以创建个人帐户并使用该帐户登录。他们将使用应用程序的不同部分。

用户应该看到的第一件事是一个页面,他可以在其中选择自己的用户类型。 如果用户是“外部用户”,他可以使用他的个人帐户登录。 如果用户是“教师”或“学生”,他可以通过 Azure AD 使用他的工作/学校帐户登录。

类似的东西。

这就是 Azure 门户上品牌下的“主页 URL”吗? 当我填写此内容时,应用程序仍会立即显示 Azure AD 登录页面。

或者我们是否需要使用 Azure AD B2C?还是仅适用于 Google、Facebook 等社交身份?

【问题讨论】:

    标签: c# asp.net-mvc asp.net-core azure-active-directory


    【解决方案1】:

    您可以使用 Azure AD 和 OpenID 身份验证流程来实现此目的。

    更多细节在这个问题Mixing Azure AD authentication with Forms authentication

    【讨论】:

      【解决方案2】:

      这就是 Azure 门户上品牌下的“主页 URL”吗?

      您可以在您的应用程序中注册多种身份验证方案,一种是使用本地数据库进行身份验证,一种是使用 Azure AD 进行身份验证。你应该让你的应用程序中的登录页面不在 Azure 端,并且有按钮来触发不同的方案,例如,AAD 方案:

      if (!User.Identity.IsAuthenticated)
      {
           return Challenge(new AuthenticationProperties() { RedirectUri = "/" } , AzureADDefaults.AuthenticationScheme);
       }   
      

      最简单的方法是使用 ASP.NET Core Identity 并将 Azure AD 身份验证添加为外部登录。 Here 是代码示例。

      对于授权部分,您可以在本地数据库中管理用户和角色,因为默认情况下,在 AAD 登录后,身份框架将帮助在数据库中创建本地用户,但也可以根据您的要求进行自定义。或者您可以直接创建策略并检查用户的声明,从 AAD 或本地数据库登录的用户应该有不同的声明。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-05-29
        • 2020-01-14
        • 2017-11-10
        • 2017-10-30
        • 2019-04-12
        • 1970-01-01
        • 2021-10-25
        相关资源
        最近更新 更多