gpt4 book ai didi

.net - 使用 PrimaryContext 验证来自 Azure AD 的用户凭据

转载 作者:行者123 更新时间:2023-12-04 16:04:57 25 4
gpt4 key购买 nike

如何使用 PrimaryContext 验证 Azure AD 帐户的用户名和密码是否有效?我尝试过:

try
{
using (PrincipalContext context = new PrincipalContext(ContextType.Domain, "mycompany.com", username, password))
{
if (context.ValidateCredentials(username, password))
{
return true;
}
}
}
catch (Exception)
{
}
return false;

但我收到错误:“LDAP 服务器不可用。”

用户名格式为:“AzureAD\\用户名”

PrincipalContext 的构造函数应该是什么样子,以便我可以连接到 Azure 并确认用户名和密码?

最佳答案

Azure AD 和 Windows Server AD 不是同一件事。他们都旨在以不同的方式解决相同的问题。您正在尝试用于Windows Server AD 的PrincipalContext。

Windows Server AD 可以同步到 Azure AD,但只能同步对象信息(例如用户、组等),以便这些信息在 Azure AD 中可用。但协议(protocol)级别的内容(例如 Kerberos)无法通过 Azure AD 获得。

因此,Azure AD 不是拥有可以使用 Kerberos 与 Windows Server AD 通信的受信任的加入域的服务器,而是依赖于 OAuth 和更现代的协议(protocol),这些协议(protocol)通过 Web 运行,不需要受信任的服务器。无论托管服务器如何,受 OAuth 保护的 Web 应用程序或移动应用程序都可以运行。

可以使用 ADAL 库进行身份验证。您可以在此处的 Azure GitHub 示例中找到示例:

这些步骤的目的是 - 将应用程序注册添加到 Azure AD - 这将为您提供一个客户端 ID(以及可选的 secret ,稍后您将需要它),用于在 Azure AD 中唯一标识您的应用程序 - 添加将 ADAL NuGet 包添加到您的应用 - 让 ADAL 将用户重定向到 Azure AD 进行登录 - 登录后使用 token 并将用户登录到您的应用

您可以在此处找到完整的示例:https://github.com/Azure-Samples/active-directory-dotnet-webapp-openidconnect

关于.net - 使用 PrimaryContext 验证来自 Azure AD 的用户凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49175215/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com