我正在尝试使用.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服务器。