Подключение к AD LDS с использованием C#
Я разработал консольное приложение на 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 ответ
Я смог решить эту проблему, добавив запись IP-адреса и имени хоста сервера AD LDS в файл hosts