TaruMeenal Ответов: 0

Невозможно подключиться к 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?

0 Ответов