0

这就是我创建 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");

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

4

1 回答 1

1

这不是特别清楚,但是您使用的版本是默认DirectoryEntry构造函数的另一种情况,但具有非默认凭据 -如此 MSDN 页面所示,当您使用:

DirectoryEntry ent = new DirectoryEntry();

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

如果是:

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

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

我没有 Windows 系统来测试传入空字符串""null引用之间的差异(如果有的话)——在这种情况下它可能会出错。

于 2013-10-08T11:40:38.000 回答