Решено: работа с LDAP на php (как подключить схемы?)

Модератор: Модераторы разделов

Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Решено: работа с LDAP на php

Сообщение Ленивая Бестолочь »

пишу скриптик на php-cli, для работы с лдап-ом.
имеется такойже, на bash, в котором все работает, но при больших запросах
все недушно лагает. решил переписать. т.к. перла не знаю пишу на php :)

есть примерно такая функция:

Код: Выделить всё

        function lm_user_info($uid){
        global $_info, $ds, $recode;
        $sr=ldap_search($ds,"ou=People, ou=Access, cn=Root", "uid=$uid");
        $info = ldap_get_entries($ds, $sr);
        if ($info["count"] == 1){
                foreach($_info as $x => $key){
                        for ($i=0; $i<$info["0"]["$key"]["count"]; $i++){
                                $str = "$key:  ". $info["0"]["$key"]["$i"]."\n";
                                if ($recode){
                                        echo recode("utf8..koi8-r",$str);
                                }else{
                                        echo $str;
                                }
                        }
                }
        }
        return $info["count"];
        }


массив $_info:

Код: Выделить всё

        $_info = array("cn", "uid", "description", "inksRequestNo", "title", "mail", "o", "inksMiddleName", "inksDBId");


так вот - она работает хорошо, все показывает, но....
обрабатываются только те атрибуты, которые входят в стандартную схему.
атрибуты, включеные в наши кастомные схемы игнорируются.
то есть результат - пустой. на Array, ничего.
скриптик на bash использует ldapsearch и не заморачивается обсалютно по
этому поводу.... все показывает.

как "объяснить" php, что у меня есть еще дополнительные схумы?
в инете чесно гуглил, но ничего конкретного не нашел.

расковырял исходники phpldapadmin, но ничего не понял :/
я не программист - я админ, и php знаю крайне поверхностно.
погуглить на тему - как юзать какую функцию я в состоянии, но
phpldapadmin меня в шок поверг :-[

ув. гуру - подскажите пожалуйста, буду вам премного благодарен.

сервер - openLDAP на debian 4.0 stable.
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Решено: работа с LDAP на php

Сообщение Ленивая Бестолочь »

господа, спасибо всем, кто мне посочувствовал ;)
проблема решена, наше ответ (косвенно) вот тут.

итого: в функцие ldap_search нужно писать названия полей в нижнем регистре, даже если
они указаны в верхнем: inksRequestNo -> inksrequestno.
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали: