Подключение к AD LDS с использованием C # - PullRequest
0 голосов
/ 09 февраля 2019

Я разработал консольное приложение на C # для подключения к серверу AD LDS.Консольное приложение представляет собой простое приложение со следующим кодом

PrincipalContext context = new PrincipalContext(ContextType.ApplicationDirectory, <<AD LDS IP Address>>, <<CONTAINER>>, <<USER>>, <<PASSWORD>>);`
bool validate = context.ValidateCredentials("CN=" + <<SOME_USER>> + "," + <<CONTAINER>>, <<SOME_USER_PASSWORD>>, ContextOptions.SimpleBind);

Метод ValidateCredentials завершается ошибкой со следующей ошибкой

System.DirectoryServices.AccountManagement.PrincipalServerDownException: The server could not be contacted. ---> System.DirectoryServices.Protocols.LdapException: The LDAP server is unavailable. at System.DirectoryServices.Protocols.LdapConnection.Connect() at System.DirectoryServices.Protocols.LdapConnection.SendRequestHelper(DirectoryRequest request, Int32& messageID) at System.DirectoryServices.Protocols.LdapConnection.SendRequest(DirectoryRequest request, TimeSpan requestTimeout) at System.DirectoryServices.Protocols.LdapConnection.SendRequest(DirectoryRequest request) at System.DirectoryServices.AccountManagement.PrincipalContext.ReadServerConfig(String serverName, ServerProperties& properties) --- End of inner exception stack trace --- at System.DirectoryServices.AccountManagement.PrincipalContext.ReadServerConfig(String serverName, ServerProperties& properties) at System.DirectoryServices.AccountManagement.PrincipalContext.DoServerVerifyAndPropRetrieval() at System.DirectoryServices.AccountManagement.PrincipalContext..ctor(ContextType contextType, String name, String container, ContextOptions options, String userName, String password) at System.DirectoryServices.AccountManagement.PrincipalContext..ctor(ContextType contextType, String name, String container, String userName, String password) at ConsoleLDAP.Program.AuthenticateAD() in C:\Users\Rajesh\Desktop\ConsoleLDAP\ConsoleLDAP\Program.cs:line 84

Я запускаю эту программу из моегоместная машина.Сервер AD LDS расположен удаленно, поэтому я использую VPN.

Однако

  • Когда я запускаю консольное приложение на том же сервере, где установлен AD LDS, приложениеподключается к AD LDS.
  • Когда я пытаюсь выполнить RDP с локального компьютера через VPN на сервер AD LDS, подключается RDP.
  • Когда я запускаю ADExplorer с локального компьютера через VPN,Я могу подключиться к AD LDS.

Предоставленные учетные данные одинаковы во всех вышеописанных сценариях.

Я не могу понять, почему я не могу заставить работать консольное приложениес моей локальной машины.

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 13 февраля 2019

Мне удалось решить эту проблему, добавив запись IP-адреса и имени хоста сервера AD LDS в файл hosts

...