Я заметил интересное поведение при попытке подключиться к edirectory с помощью DirectoryServices.DirectorySearcher, не выполняющий работу с Active Directory, хотя я передаю сервер Dev LDAP (edir) IP
Это код, который я использовал для получения информации из нашего каталога, но я заметил, что он извлекает информацию из нашего производственного Active Directory (из того, что я прочитал, DirectorySearcher можно использовать и для edir) :
string devIP = "xxx.xxx.xxx.xxx:636";
DirectorySearcher directorySearcher = new DirectorySearcher(devIP);
directorySearcher.Filter = "(&(objectClass=user)(uid=" + "jsmith" + "))";
SearchResultCollection searchResults = directorySearcher.FindAll();
(я знаю, что это потому, что поражая производство JSmith не существует в разработчика Другое дело, я заметил, что атрибуты, которые были возвращены в AD такие атрибуты, как memberOf и др.)
что, наконец, получил его для работы использовался System.DirectoryServices.Protocols:
LdapConnection con = new LdapConnection(new LdapDirectoryIdentifier("d1.domain.com:636"));
con.Credential = new NetworkCredential("cn=USERNAME,ou=XXX,o=XXX", "password");
con.SessionOptions.SecureSocketLayer = true;
con.SessionOptions.VerifyServerCertificate = new VerifyServerCertificateCallback(ServerCallback);
con.AuthType = AuthType.Basic;
using (con)
{
con.Bind();
}
Я провел некоторое исследование, но я не мог понять, почему это было бы маршрутизация DirectorySearcher для prod, хотя я явно указал IP-адрес и имя пользователя?
Сервер dev находится в другом домене с моего локального компьютера (и я запускаю код на своей локальной машине). Возможно ли, что, поскольку мой компьютер находится в том же домене, что и prod, он по умолчанию работает с Active Directory Active Directory и просто игнорирует devIP, который я передаю ему?