Ldap авторизация
От: -Cheese-  
Дата: 22.05.08 09:28
Оценка:
Всем привет!
Есть вопрос по сабжу... На данный момент делаю таким образом.

      bool LoginToLdap(string login, string password)
        {
            try {
            
                LdapConnection ldap = new LdapConnection("ldap.mycompany.com.ua");
                ldap.SessionOptions.ProtocolVersion = 3;
                ldap.AuthType = AuthType.Basic;
                
                // Найдём rdn пользователя
                SearchRequest request = new SearchRequest();
                request.DistinguishedName = "o=mycompany";
                request.Filter = "uid="+login;
                SearchResponse response = (SearchResponse)ldap.SendRequest(request);
                if (response.Entries.Count == 0) {
                    MessageBox.Show("Не найдено пользователя с таким логином", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return false;
                }
                string rdn = response.Entries[0].DistinguishedName;
                
                // Авторизуемся???
                ldap.Bind(new NetworkCredential(login, password, rdn));  // После этой строчки получаем exception
                
                return true;
            } catch (Exception ex) {
                log.WriteLog(ex, this, MethodBase.GetCurrentMethod().Name);
                throw;
            }
        }


Получаем Exception "A referral was returned from the server"...
Но! Если же таким макаром авторизоваться в php (на этом же сервере), то всё нормально отрабатывает.
Что я не так делаю? Подскажите....

Спасибо.

P.s.: .Net 2 — VS2005 — C#
... << RSDN@Home 1.2.0 alpha 3 rev. 938>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.