gpt4 book ai didi

C#:如何在启用 SSL 的情况下连接到 Active Directory?

转载 作者:太空宇宙 更新时间:2023-11-03 11:53:58 25 4
gpt4 key购买 nike

我正在从事的项目将与客户的 Active Directory 集成,以便对用户进行身份验证。我一直在尝试编写一些代码来检索用户密码,我知道 Active Directory 只会通过端口 636 上的 SSL 连接公开相关属性。

以下代码在不使用 SSL 的情况下以编程方式连接,但我看不到密码属性:

static void Main(string[] args)
{
DirectoryEntry entry = new DirectoryEntry(@"LDAP://<IP>/CN=LDAP Test,CN=Users,DC=customer,DC=com");
entry.AuthenticationType = AuthenticationTypes.None;
entry.Username = "CN=LDAP Test,CN=Users,DC=customer,DC=com";
entry.Password = "<password>";
if (entry != null)
{
foreach (Object propName in entry.Properties.PropertyNames)
{
Console.WriteLine((String)propName);
}
}
}

当我更改代码以使用 SSL 时,我收到一个异常,指出“未知错误 (0x80005000)”。

我在托管 Active Directory 的服务器上启用了 SSL,在同一服务器上安装了 Microsoft CA 并从 CA 获得了证书。

我可以使用 Apache Directory Studio 通过 SSL 连接到 Active Directory,但不显示密码属性。

以下代码显示了我一直在尝试使用 SSL 进行连接的内容:

static void Main(string[] args)
{
DirectoryEntry entry = new DirectoryEntry(@"LDAPS://<IP>:636/CN=LDAP Test,CN=Users,DC=customer,DC=com");
entry.AuthenticationType = AuthenticationTypes.SecureSocketsLayer;
entry.Username = "CN=LDAP Test,CN=Users,DC=customer,DC=com";
entry.Password = "<password>";
if (entry != null)
{
foreach (Object propName in entry.Properties.PropertyNames)
{
Console.WriteLine((String)propName);
}
}
}

我不确定该怎么做,如果能提供一些帮助,我们将不胜感激。

最佳答案

I have been trying to write some code that will retrieve a users password...

这与您的 SSL 问题无关,但我认为无法从 Active Directory 检索用户密码。它只存储一个散列,这就是为什么您在查询用户属性时不会收到任何类型的“密码”属性。

更新的答案

阅读您的评论后,您似乎正在寻找包含安全散列的 unicodePwd 属性。根据MSDN information ,写入该属性需要特殊的 SSL 连接,但您仍然无法读取它,因为它是一个只写属性。

特别来自 MSDN:

The unicodePwd attribute is never returned by an LDAP search.

这也是我发现的一个论坛帖子,似乎在说同样的话:

The users' password is stored in the Active Directory on a user object in the unicodePwd attribute. This attribute can be written under restricted conditions, but it cannot be read due to security reasons. (Source)

关于C#:如何在启用 SSL 的情况下连接到 Active Directory?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1228998/

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