这是我创建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");
这是预期的行为吗?关于这个的任何文件?
答案 0 :(得分:1)
它不是特别清楚,但您使用的版本是默认DirectoryEntry
构造函数的另一种情况,但使用非默认凭据 - illustrated on this MSDN page,当您使用时:
DirectoryEntry ent = new DirectoryEntry();
表示您绑定到为用户提供身份验证的域。
以下情况:
DirectoryEntry ldap_connection = new DirectoryEntry("", "username", "password");
空字符串表示您绑定到为登录的用户提供身份验证的域,但使用备用凭据作为用户名和密码。
我没有一个Windows系统来测试传递空字符串""
之间的区别(如果有的话),而不是null
引用 - 在这种情况下它可能是barf