没有LDAP URL的LDAP连接的默认行为

时间:2013-10-08 08:15:36

标签: c# active-directory ldap

这是我创建DirectoryEntry以连接到AD服务器的方式(13.198.123.456)

DirectoryEntry ldap_connection = new DirectoryEntry("LDAP://13.198.123.456/OU=Abc,DC=def,DC=ijk,DC=com", "username", "password");

但如果我创建没有LDAP URL的DirectoryEntry,它将连接到用于登录我的PC的AD

DirectoryEntry ldap_connection = new DirectoryEntry("", "username", "password");

这是预期的行为吗?关于这个的任何文件?

1 个答案:

答案 0 :(得分:1)

它不是特别清楚,但您使用的版本是默认DirectoryEntry构造函数的另一种情况,但使用非默认凭据 - illustrated on this MSDN page,当您使用时:

DirectoryEntry ent = new DirectoryEntry();

表示您绑定到为用户提供身份验证的域。

以下情况:

DirectoryEntry ldap_connection = new DirectoryEntry("", "username", "password");

空字符串表示您绑定到为登录的用户提供身份验证的域,但使用备用凭据作为用户名和密码。

我没有一个Windows系统来测试传递空字符串""之间的区别(如果有的话),而不是null引用 - 在这种情况下它可能是barf