【问题标题】:Is there a way to use Identity 2.0 AspNetUsers Authentication (Azure SQL) AND OpenIdConnect (to use Azure Active Directory)?有没有办法使用 Identity 2.0 AspNetUsers Authentication (Azure SQL) 和 OpenIdConnect(使用 Azure Active Directory)?
【发布时间】:2019-03-12 00:59:46
【问题描述】:

好主意...用户输入他们的电子邮件进行登录。我们查看他们的公司是否使用 Azure Active Directory (Azure AD)。如果有,请到 Microsoft 登录。如果没有,请使用 Identity 2.0 和 Azure SQL 数据库中的 AspNetUsers 表登录。

似乎可行...您可以根据用户的公司资料将用户发送到不同的登录页面,如果他们使用 Azure AD,则调用此页面...

 HttpContext.GetOwinContext().Authentication.Challenge(
      new AuthenticationProperties { RedirectUri = "/" },
      OpenIdConnectAuthenticationDefaults.AuthenticationType);

如果他们不这样做,就打电话给这个......

    var result = await SignInManager.PasswordSignInAsync(model.Email, 
         model.Password, model.RememberMe, shouldLockout: ShouldLockout);

问题?在连接身份验证时,您只能在 app.UseCookieAuthentication(cookieAuthenticationOptions) 中使用单个 cookiesAuthenticationOptions

而且这两种登录方式似乎有非常不同的选择。

有没有办法让这两种身份验证技术和平共存?还是必须选择其中之一?

【问题讨论】:

    标签: asp.net-mvc asp.net-identity azure-active-directory claims-based-identity


    【解决方案1】:

    在我看来,您应该在启动文件中配置这两种身份验证方案。 理想情况下,它应该有一个单独的身份验证模块,一个用于 Azure AD 身份验证,另一个用于 Identity 2.0。

    你不应该混用这个。同样在您的 Web 应用程序中提供两个单独的登录选项,一个用于 Azure AD,另一个用于身份。此外,如果您只想保留一个选项,最好使用 Azure AD 进行身份验证。

    您可以在 AD 中同步您的所有用户,之后您只能通过 AD 进行身份验证。

    【讨论】:

      猜你喜欢
      • 2019-12-24
      • 1970-01-01
      • 2015-12-17
      • 2023-03-25
      • 2020-09-26
      • 1970-01-01
      • 1970-01-01
      • 2015-05-06
      • 2015-10-18
      相关资源
      最近更新 更多