Руководство по РНР 3.0

7fbce50e

Примером dn может быть:cn=JohnSmith,ou=Accounts,o=MyCompany,c=USКаждый...



Примером dn может быть:

    cn=John Smith,ou=Accounts,o=My Company,c=US

Каждый раздел такой ссылки отмечается запятой, а вся последовательность читается справа налево. Ссылка читается как ..

    country = US
    organization = My Company
    organizationalUnit = Accounts
    commonName = John Smith

Так же как и при организации структуры каталога на жестком диске, в данном способе нет жестких правил по организации структуры, и менеджер сервера директории LDAP допускает любую структуру, подходящую для выбранной цели. Однако имеется ряд соглашений. Суть их в том, что вы не можете написать код доступа к серверу директории, не зная его структуры, так же как вы не можете использовать базу данных без представления о ее предназначении.Пример полной программы

Поиск информации для всех записей, где фамилия начинается с "S", в сервере директории, вывод


на дисплей и извлечение с именем и email-адресом.
Пример 1. Пример поиска в LDAP <?php // базовая последовательность в LDAP это соединение, связь, // поиск, интерпретация поиска, результат, закрытие соединенияecho "<h3>LDAP тест запроса</h3>"; echo "Соединение ..."; $ds=ldap_connect("localhost"); // должен существовать LDAP-сервер! echo "результат соединения ".$ds."<p>";if ($ds) { echo "Установка связи ..."; $r=ldap_bind($ds); // это "anonymous" связь, обычно доступ // только для чтения, вывод "Результат связи.." echo "Результат связи ".$r."<p>"; echo "Поиск для (sn=S*) ..."; // Поиск записи с фамилией $sr=ldap_search($ds,"o=My Company, c=US", "sn=S*"); echo "Результат поиска ".$sr."<p>"; echo "Количество возвращенных записей ".ldap_count_entries($ds,$sr)."<p>"; echo "Получение записей ...<p>"; $info = ldap_get_entries($ds, $sr); echo "Данные для ".$info["count"]." объектов возвращены:<p>"; for ($i=0; $i<$info["count"]; $i++) { echo "dn is: ". $info[$i]["dn"] ."<br>"; echo "первая запись cn: ". $info[$i]["cn"][0] ."<br>"; echo "первая запись email: ". $info[$i]["mail"][0] ."<p>"; } echo "Закрытие соединения"; ldap_close($ds);} else { echo "<h4>Нет соединения с LDAP сервером</h4>"; } ?>


Содержание раздела