Невозможно подключиться к LDAP в MVC(без использования active directory)
Я хочу подключиться к серверу LDAP с помощью моего приложения MVC.Я не хочу использовать active directory. Вот мой метод post, когда я получаю имя пользователя и пароль от пользователя:
<pre lang="c#"> [HttpPost] public ActionResult Login(Login model, string returnUrl) { string pwd = model.password; System.Security.Cryptography.MD5 hs = System.Security.Cryptography.MD5.Create(); byte[] db = hs.ComputeHash(System.Text.Encoding.UTF8.GetBytes(pwd)); string result = Convert.ToBase64String(db); var BuildServerName = new StringBuilder(); BuildServerName.Append("172.16.1.98"); // setup an ldapconnection to that endpoint var ldapConnection = new LdapConnection(BuildServerName.ToString()); // it looks like you have an administrative account to bind with, so use that here var networkCredential = new NetworkCredential(model.username, result, "dc=mnit,dc=ac,dc=in"); // set the following to true if it's over ssl (636), if not just set it to false ldapConnection.SessionOptions.VerifyServerCertificate += delegate { return true; }; // now set your auth type - I typically use 'negotiate' over LDAPS, and `simple` over LDAP // for this example we'll just say you're not using LDAPS ldapConnection.AuthType = AuthType.Basic; ldapConnection.SessionOptions.ProtocolVersion = 3; ldapConnection.Bind(networkCredential);
Он выдает ошибку при
ldapConnection.Bind(networkCredential);а именно: различающееся имя содержит недопустимый синтаксис. Что мне в этом делать?
Что я уже пробовал:
Когда я изменюсь
BuildServerName.Append("172.16.1.98");к
BuildServerName.Append("LDAP://172.16.1.98");он возвращает ошибку
Сервер LDAP недоступен.
около
ldapConnection.Bind(networkCredential);
Есть ли другой способ подключиться и проверить имя пользователя и пароль через ldap?