我正在尝试使用 .NET 提供的 PrincipalContext 类连接到 LDAP 服务器。我在此链接上找到了以下用于测试的公共 LDAP 服务器:http: //ldapwiki.willeke.com/wiki/Public%20LDAP%20Servers。
以下是我用来连接 LDAP 服务的代码。
PrincipalContext dc = new PrincipalContext(ContextType.Domain, "directory.verisign.com");
链接中提供的 LDAP 服务器是公共 LDAP 服务器,不需要身份验证。因此,我们不传递任何用户名或密码来连接 LDAP 服务器。通过分别传递每个域上用户的用户名和密码,我设法连接到本地域控制器和网络上的另一个域。
当我使用上面的代码使用用户名和密码连接到本地域服务器时,该行成功执行并且我能够根据需要检索值。但是,当我尝试连接到上面链接中提供的公共 LDAP 服务器时,我不断从代码中得到 NullReferenceException,即上面显示的声明行抛出 NullReferenceException。我用谷歌搜索,我无法理解为什么我不断收到公共服务器的 NullReferenceException。我被告知公共 LDAP 服务器不需要用户名或密码,因此我假设代码应该完美执行。
有人可以解释发生这种情况的原因。另外,连接到这些服务器的解决方案是什么。
我需要连接到这些服务器,因为我需要证明代码可以与安全以及公共 LDAP 服务器一起使用。