dd1234
2.04.2009, 08:04:23
Witam Szanownych Kolegów,
Mam taki problem. Odczytuję danę z ldapa przy pomocy funkcji ldap_search (imię i nazwisko użytkownika na podstawie loginu). Jednym z parametrów tej funkcji jest tzw. base_dn (niestety nie znam polskiego odpowiednika). Base_dn wygląda mniej więcej tak: "OU=cośtam, DC=cośtam1, DC=cośtam2". Jeżeli podam nazwę OU to wszystko działa dobrze. I tu pojawia się problem. Otóż użytkownicy są umieszczeni nie w jednym OU lecz w kilku. W jaki sposób mogę skonstruować to zapytanie, aby odczytywać dane użytkowników ze wszystkich OU bez podawania nazwy OU (niestety nie mam wpływu na organizację bazy ldap). Jeżeli w base_dn nie podam parametru OU, to nie odczytuje żadnych danych. Proszę o pomoc i pozdrawiam
Pilsener
2.04.2009, 14:10:49
http://pl.php.net/manual/pl/function.ldap-search.phpCytat
Zwracane wartości
Returns a search result identifier or FALSE on error.
- wsadź wszystkie serwery/ktalogi w pętle i wykonuj po kolei ldap_search z różnymi parametrami - przerwij ją, gdy wynik przeszukiwania dla któregoś wyszukiwania będzie różny od FALSE.
dd1234
3.04.2009, 06:45:27
Dziękuję za odpowiedź. Też o tym myślałem, jednak problem polega na tym, że baza obsługuje kilka domen i katalogi w tych domenach są czasami reorganizowane i wtedy taki rozwiązanie się nie sprawdzi bo musiałbym za każdym razem zmieniać listę katalogów w programie. Czy istnieje jakiś sposób na to, żeby odczytać listę wszystkich OU w głównym drzewie ldap-a? Bo wtedy tekie rozwiązanie miałoby sens.
Pozdrawiam