Позвольте мне представить некоторый контекст, над которым я работаю:
- Моя среда — это удаленный компьютер, подключенный через VPN, и ожидается, что сценарий будет запущен на других удаленных компьютерах.
- Сервер LDAP доступен удаленно через VPN на 389 порт.
- Этот сценарий, хотя и работает на .NET, не зависит от операционной системы и работает на .NET версии 10+.
Это возвращает правильные результаты (он подключает и выбирает пользователей, как ожидалось)
Проблема заключается в том, что я пытаюсь реализовать те же параметры подключения для подключения к этой службе 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);
Почему ldapsearch работает успешно, а System.DirectoryServices.Protocols завершается сбоем на том же компьютере? Существуют ли различия в механизмах аутентификации (простое связывание и согласование/NTLM/Kerberos) или обработке TLS/StartTLS, погоне за ссылками или тайм-аутах?
Какая конфигурация требуется в C# для соответствия поведению ldapsearch?
Любая информация о различиях между ldapsearch и .NET клиентами LDAP будет оценена по достоинству.
Я вроде как потеряно, так как для меня это в новинку, и я провел небольшое исследование документации, но безуспешно.
Заранее спасибо.
Мобильная версия