我已在我的计算机上安装了OpenLDAP for Windows,但无法从我的ASP.NET应用程序连接到本地LDAP服务器。
我的代码中的第一步是创建一个新的DirectoryEntry实例:
DirectoryEntry entry = new DirectoryEntry("LDAP://maxcrc.com");
它抛出了一个异常,说"服务器无法运行"
我已经尝试过LDAP客户端程序,它们似乎可以很好地连接到localhost或(127.0.0.1)以及以下DC:
DC=maxcrc,DC=com
我尝试了几种连接方法,但没有包括(LDAP:// localhost,LDAP:// DC = maxcrc,DC = com或LDAP:// localhost / DC = maxcrc,DC = com)
答案 0 :(得分:0)
如果我没记错的话,您需要在通过DirectoryEntry
连接时指定端口号:
DirectoryEntry entry = new DirectoryEntry("LDAP://localhost:389");
但是,我建议您查看System.DirectoryServices.Protocols
命名空间以实际促进服务器连接,尤其是LdapConnection
类 - this question是一个很好的起点,并且很好地说明了这种方法的好处。
另外,请记住,通过端口389(ldap与ldaps)之间的流量将采用纯文本格式,这在诊断连接问题时非常有用。在这种情况下,Wireshark是您最好的朋友,并且内置了专门用于LDAP通信的TCP过滤器。