Как подключиться к локальному серверу LDAP с помощью MVC 5
Я пытаюсь подключиться к локальному серверу LDAP, который я настроил с помощью Apache Directory Studio. Im использует Visual Studio 2015 enterprise update 2 и MVC 5.
Что я уже пробовал:
Это два подхода, с которыми я работаю:
public void ldap() { try { DirectoryEntry entry = new DirectoryEntry("LDAP://localhost:10389"); DirectorySearcher mySearcher = new DirectorySearcher(entry); var result = mySearcher.FindOne(); } catch (System.Runtime.InteropServices.COMException) { System.Runtime.InteropServices.COMException exception = new System.Runtime.InteropServices.COMException(); Console.WriteLine(exception); } catch (InvalidOperationException) { InvalidOperationException InvOpEx = new InvalidOperationException(); Console.WriteLine(InvOpEx.Message); } catch (NotSupportedException) { NotSupportedException NotSuppEx = new NotSupportedException(); Console.WriteLine(NotSuppEx.Message); } }
После var result = mySearcher.Выполняется функция FindOne (), System.Runtime.InteropServices.COMException ' в системе.Каталог.dll возникает, заявляя, что при вызове COM-компонента была передана ошибка HRESULT E_FAIL.
Я понятия не имею, что это значит, и не нашел ничего полезного в Google.
2-й подход:
try { LdapConnection ldapConnection = new LdapConnection("LDAP://localhost:10389"); var networkCredential = new NetworkCredential("cbrunato", "c2VjcmV0", "dc=example,dc=com"); ldapConnection.SessionOptions.SecureSocketLayer = true; ldapConnection.SessionOptions.VerifyServerCertificate += delegate { return true; }; ldapConnection.AuthType = AuthType.Negotiate; ldapConnection.Bind(networkCredential); } catch (Exception e) { Console.WriteLine(e.Message); }
После ldapConnection.Bind (networkCredential) выполняется, я получаю сообщение об ошибке "LDAP-сервер недоступен".
Когда я останавливаю сервер ldap и запускаю программу, я получаю одни и те же ошибки, поэтому я предполагаю, что не получаю соединения с моим сервером ldap с обоими подходами, но я понятия не имею, почему.
Я очень благодарен за любую помощь.