За последние 24 часа нас посетили 18833 программиста и 1613 роботов. Сейчас ищут 990 программистов ...

Мужики, срочно нужна помощь по LDAP - ПРОПАДАЮ!!!

Тема в разделе "Прочие вопросы по PHP", создана пользователем dmode_fan, 7 окт 2008.

  1. dmode_fan

    dmode_fan Активный пользователь

    С нами с:
    7 окт 2008
    Сообщения:
    2
    Симпатии:
    0
    Привет всем, у меня большая проблема, которую пока никак не могу решить.

    Нужно написать скрипт, который бы по виндосному логину выдавал полное имя-фамилию человека. Нужно это сделать с помощью LDAP. Конфигурация сети: Windows Server 2003 RC2 + IIS 6.0+ PHP5 (это один компьютер, на котором работает веб-сервер). Контроллер домена, на котором развернута Active Directory - другой компьютер, также Windows Server 2003 RC2. Проблема заключается в том, что из скрипта не выполняется поиск по Active Directory. Попробовал напистать простейший скрипт. Код такой:

    PHP:
    1.  
    2. <?php
    3. $ldap_server="srv1.domain.org.ru";
    4. $ldap_port=389;
    5. $ds=ldap_connect($ldap_server, $ldap_port) or die ("не могу соединиться с ldap-сервером");
    6. echo $ds; //выдает resource id#1
    7. ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION,3);
    8. ldap_set_option($ds, LDAP_OPT_REFERRALS,0);
    9. if ($ds)
    10. {
    11.   $bind_id=ldap_bind($ds) or die ("не могу соединитоься с Active Directory");
    12.   //здесь, если bind анонимный,  выдается значение $bind_id=1,
    13.   // а если пытаешься выполнить bind с учетной записью доменного юзера, выдает die
    14.   $base_dn="DC=domain,DC=org,DC=ru";
    15.   $filter="(objectClass=*)";
    16.   $squery=ldap_search($ds, $base_dn, $filter) or die ("не могу выполнить запрос");
    17.   //т.к. до этого места доходит только при анонимном bind, на этом месте я получаю die
    18. }
    19.  
    20. ?>
    21.  
    На контроллере домена в Active Directory заведен специальный пользователь adreader - член группы Domain Users, но под ним категорически не хочет идти bind. PHP вроде настроен под LDAP, на контроллере домена запускаю ldp.exe, с учетной записью adreader работает нормально.

    ЧТО Я ДЕЛАЮ НЕ ТАК? HELP! начальство уже косо смотрит - мол, элементарную задачу решить не может. Сам программирую на PHP второй год, но с LDAP дела не имел. ЖДУ ПОМОЩИ!!![/code]
     
  2. dmode_fan

    dmode_fan Активный пользователь

    С нами с:
    7 окт 2008
    Сообщения:
    2
    Симпатии:
    0
    Может, какие-то доп. права должны быть у adreader, или службы какие должны быть запущены на контроллере домена и на втором компе для нормальной работы с LDAP?

    Прошу прощения за ламерство
     
  3. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20