Поиск LDAP работает через ldapsearch через VPN, но не работает в C# (System.DirectoryServices.Protocols) — проблема с поC#

Место общения программистов C#
Ответить
Anonymous
 Поиск LDAP работает через ldapsearch через VPN, но не работает в C# (System.DirectoryServices.Protocols) — проблема с по

Сообщение Anonymous »

Я устраняю проблему с подключением LDAP на компьютере, подключенном через VPN.
Позвольте мне представить некоторый контекст, над которым я работаю:
  • Моя среда — это удаленный компьютер, подключенный через VPN, и ожидается, что сценарий будет запущен на других удаленных компьютерах.
  • Сервер LDAP доступен удаленно через VPN на 389 порт.
  • Этот сценарий, хотя и работает на .NET, не зависит от операционной системы и работает на .NET версии 10+.
Используя этот CLI ldapsearch с того же компьютера, я могу успешно запросить сервер LDAP: ldapsearch -x -H ldap://:389 -D "myDomain\MYUSER" -w MyPassword -b "baseDN" -LLL "(sAMAccountName=MYUSER)"
Это возвращает правильные результаты (он подключает и выбирает пользователей, как ожидалось)
Проблема заключается в том, что я пытаюсь реализовать те же параметры подключения для подключения к этой службе LDAP через System.DirectoryServices.Protocols. Я думаю, что тот же запрос не работает:

Код: Выделить всё

var identifier = new LdapDirectoryIdentifier("", 389);
using var connection = new LdapConnection(identifier);

connection.AuthType = AuthType.Basic;
connection.Credential = new NetworkCredential("", "");
connection.Bind();

var request = new SearchRequest("", "(objectClass=*)", SearchScope.Subtree, null);

var response = (SearchResponse)connection.SendRequest(request);
При обнаружении ошибок на консоли появляется следующая ошибка: ОШИБКА: не удалось выполнить запрос Active Directory. Сервер LDAP недоступен.
Почему ldapsearch работает успешно, а System.DirectoryServices.Protocols завершается сбоем на том же компьютере? Существуют ли различия в механизмах аутентификации (простое связывание и согласование/NTLM/Kerberos) или обработке TLS/StartTLS, погоне за ссылками или тайм-аутах?
Какая конфигурация требуется в C# для соответствия поведению ldapsearch?
Любая информация о различиях между ldapsearch и .NET клиентами LDAP будет оценена по достоинству.
Я вроде как потеряно, так как для меня это в новинку, и я провел небольшое исследование документации, но безуспешно.
Заранее спасибо.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»