LDAP и PHP помогите настроить

mrSphinX

Новичок
LDAP и PHP помогите настроить

Есть AD под WIN2k3 на нем поднят IIS, надо авторизировать пользователей через LDAP
IP: 192.168.50.204
Domen: buhgalt.local

PHP:
$connect = ldap_connect("ldap://192.168.50.204"); // must be a valid LDAP server!
ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($connect, LDAP_OPT_REFERRALS, 0);
$auth_user = "[email protected]";
$password = "12345678";
$r = ldap_bind($connect, $auth_user, $password);
$sr = ldap_search($connect, 'DC=buhgalt, DC=local', 'CN=*'); 

$info = ldap_get_entries($connect, $sr);

echo nl2br(print_r($info,true));
В итоге ничего не происходит
Как нужно правильно это сделать?
 

Tor

Новичок
при аналогичных трудностях я сперва взял обычный виндовый LDAP-браузер и выяснил, что и в какие поля этого скрипта-примера нужно подставлять
 

mrSphinX

Новичок
Я уже посмотрел "Hiena" у меня
CN=DELL-SRV,OU=Domain Controllers,DC=buhgalt,DC=local
чтобы я не писал в ldap_search результат нулевой!!!

Вчем трабл?

-~{}~ 02.02.07 16:18:

ВОПЛЬ в народ
ПОМОГИТЕ!!!!!!
 

DiMA

php.spb.ru
Команда форума
усе работает

PHP:
    if (!function_exists("ldap_connect")) {
        exit(alert("Веб-сервер не поддерживает функцию ldap_connect(). В php.ini надо раскомментировать [extension=php_ldap.dll]. Обратитесь к системному администратору."));
    }

    $ad = ldap_connect("ldap://$this->server");
    if (!$ad) exit(alert("Невозможно соединиться с сервером домена $this->server! Обратитесь к системному администратору."));

    ldap_set_option($ad, LDAP_OPT_PROTOCOL_VERSION, 3);
    ldap_set_option($ad, LDAP_OPT_REFERRALS, 0);
    $res=@ldap_bind($ad, "$login@$this->domain", $pass);

    if ($res!==true) {
        alert("Имя пользователя или пароль ошибочны. Введите их так, как вы пишите при включении компьютера и входа в сеть.");
        exit;
    }

    $base_dn="DC=*****,DC=*****,DC=*****";     

DC=ServerName,DC=Company,DC=ru - выборка по мылу

    $inforequired = array(
        "memberof",
        "cn",
        "displayname",
        "physicaldeliveryofficename",
        "givenname",
        "sn",
        "mail",
а можно добавить и "*"
    );

    $filter="samaccountname=$login";

    $result = @ldap_search($ad, $base_dn, $filter, $inforequired);
    $wininfo = @ldap_get_entries($ad, $result);
    @ldap_unbind($ad);

    ...
    'login'=>utf8delete($wininfo[0]['cn'][0]),
    'fullname'=>utf8delete($wininfo[0]['displayname'][0]),
    'department'=>utf8delete($wininfo[0]['physicaldeliveryofficename'][0]),
    'firstname'=>utf8delete($wininfo[0]['givenname'][0]),
    'lastname'=>utf8delete($wininfo[0]['sn'][0]),
    'mail'=>utf8delete($wininfo[0]['mail'][0]),
 

Tor

Новичок
mrSphinX
молодой человек
хватит вопить
Вам дали все необходимые данные для решения Вашей проблемы
теперь у Вас только два выхода
1) решить проблему самому
2) не решить и больше на этот форум не приходить
надеюсь, Ваше дальнейшее отсутсвие будет свидетельствовать о Вашем выборе
 

mrSphinX

Новичок
решил ошибка была вот вчем
$sr = ldap_search($connect, 'DC=buhgalt, DC=local', 'CN=*');
здесь апострофы

$base_dn="DC=*****,DC=*****,DC=*****";
а здесь кавычки

вот и вся причина у МЕНЯ (не знаю как у других) но работает только с кавычками, апострофы не воспринимает.

хотя то и другое тип string

resource ldap_search ( resource link_identifier, string base_dn, string filter [, array attributes [, int attrsonly [, int sizelimit [, int timelimit [, int deref]]]]] )
 
Сверху