Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / php + ldap: ldap_search - возвращает ошибку Operations error. (LdapErr: DSID-0C090627) / 4 сообщений из 4, страница 1 из 1
07.12.2011, 08:52
    #37562297
php + ldap: ldap_search - возвращает ошибку Operations error. (LdapErr: DSID-0C090627)
Пользователь вводит логин и пароль - я пытаюсь проверить наличие и принадлежность пользователя к определенной группе в AD.
Вроде соединение и авторизация проходят нормально, ну насколько я понимаю. А при попытке выборки (ldap_search) выдает ошибку..
Выполняемый код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
$ldaphost = "MyHost";  
$memberof = "cn=mydom,ou=mydom,dc=users,dc=mydom,dc=com"; 
$base = "ou=mydom,dc=users,dc=mydom,dc=com"; 
$filter = "sAMAccountName="; 
$domain = "@users.mydom.com";

$l = "usrname";
$p = "";

$username = $l; 
$login = $l.$domain; 
$password = $p; 
$ldap = ldap_connect($ldaphost) or die("Cant connect to LDAP Server"); 
ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ldap, LDAP_OPT_REFERRALS, 0);

if ($ldap)
  { 
  // Пытаемся войти в LDAP при помощи введенных логина и пароля 
  $bind = ldap_bind($ldap,$login,$password); 
        
  if ($bind) 
    { 
    // Проверим, является ли пользователь членом указанной группы. 
    $filter = "(&(memberOf=".$memberof.")(".$filter.$username."))";
    $result = ldap_search($ldap,$base,$filter);
    /*
    результат: Warning: ldap_search() [function.ldap-search]: 
    Search: Operations error in C:\AppServ\www\mysite.rus\index.php on line 104 
    (это предыдущая строка - ldap_search)
    */

    // Выведем ошибку
    ldap_get_option($ldap,LDAP_OPT_ERROR_STRING,$error); 
    echo $error; 
    /*
    результат: 00000000: LdapErr: DSID-0C090627, comment: 
    In order to perform this operation a successful 
    bind must be completed on the connection., data 0, vece
    */    
    
    // Получаем количество результатов предыдущей проверки 
    $result_ent = ldap_get_entries($ldap,$result); 
  } 
  else
  { 
    die('Вы ввели неправильный логин или пароль. попробуйте еще раз'); 
  } 
} 

// Если пользователь найден, то пропускаем его дальше и перебрасываем на main.php 
if ($result_ent['count'] != 0) 
     echo "Удачко.";
else die('К сожалению, вам доступ закрыт<a href="#">Вернуться назад</a>'); 


Ошибка: Operations error; 00000000: LdapErr: DSID-0C090627, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, vece

В чем дело, может кто подсказать?
...
Рейтинг: 0 / 0
22.12.2011, 15:03
    #37589094
zabey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php + ldap: ldap_search - возвращает ошибку Operations error. (LdapErr: DSID-0C090627)
вроде ничего критичного... может быть проблема в AD? права пользователя например. еще можно попробовать сделать ldap_list вместо ldap_search - как вариант что-то во вложении не нравится. код вроде стандартный и правильный.
...
Рейтинг: 0 / 0
28.12.2011, 10:21
    #37596588
php + ldap: ldap_search - возвращает ошибку Operations error. (LdapErr: DSID-0C090627)
Большое спасибо за ответ. Вопрос пока отлижили, переключившись на прочее программирование по проекту, но буду возвращаться позже, разбираться.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
16.04.2013, 23:25
    #38228338
Evgeny_1987
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php + ldap: ldap_search - возвращает ошибку Operations error. (LdapErr: DSID-0C090627)
Артур aka ytppa, могу порекомендовать попробовать получить дополнительное описание ошибки LDAP.
У меня тоже была такая ситуация, когда bind вроде бы хорошо отрабатывал, но на самом деле по дополнительному описанию ошибки можно было понять, что bind был неудачный.

http://konurbaev-e.blogspot.ru/2013/03/php-ldap.html
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / php + ldap: ldap_search - возвращает ошибку Operations error. (LdapErr: DSID-0C090627) / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]