【发布时间】: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