ТОП-10 популярных



Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...

НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...

БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...

Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...

ПОД ЛИТЕРОЙ «N»
Aтаку LCD-мониторов не остановить, а масштабы этого наступления даже немного пугают. Судите сами — многие пользователи только начинают приглядываться к новому для...


Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...

Размер объему не помеха.
С тех пор как компания Fujitsu отказалась от производства жестких дисков для настольных компьютеров, многие пользователи начали забывать о том,...


Какую только информацию мы не помещаем на компакт-диски: резервные копии важных данных, музыку, фильмы... Многие полагают, что главное - «купить...

PHP. Базы данных. Часть Пятая.


14-03-2015

17.3. Протокол LDAP
LDAP (Lightweight Directory Access Protocol - облегченный протокол службы каталогов) - это универсальный метод хранения информации о каталогах, являющийся частичной реализацией стандарта X.500. Протокол LDAP был впервые описан в документах RFC 1777 и RFC 1778.
С помощью протокола TCP/IP клиенты могут получить доступ к централизованной адресной книге, содержащей контактную информацию, публичные ключи шифрования и другую подобную информацию. В Internet имеется множество серверов LDAP. На узле <http://www.dante.net/np/pdi.html> некоммерческая организация Dante ведет учет серверов LDAP, учрежденных в США. Полное обсуждение протокола LDAP выходит за рамки этой книги, но достаточно полную информацию о нем можно почерпнуть из Internet. Для начала можно ознакомиться с основными положениями проекта OpenLDAP на узле <http://www.openldap.org/>.
Функции, описанные в этом разделе, требуют компилирования поддержки LDAP при компиляции модуля PHP или загрузки модуля расширения с помощью dl. Модуль LDAP появился в результате плодотворного сотрудничества Эмитея Исаакса (Amitay Isaacs), Расмуса Лердорфа (Rasmus Lerdorf), Геррита Томпсона (Gerrit Thomson) и Эрика Варнке (Eric Warnke).
boolean ldap_add(resource connection, string dn, array entry)
Функция ldap_add (листинг 17.3) предназначена для добавления на уровне объекта записей в заданный DN (отличительное имя). Аргументом entry является массив значений атрибутов. Если атрибут может иметь несколько значений, то элемент массива сам становится массивом (обратите внимание на атрибут mail в листинге 17.3). Если необходимо добавить атрибуты на уровне атрибутов, воспользуйтесь возможностями, предоставляемыми функцией ldap_mod_add. 
Листинг 17.3. Функция ldapadd

<?php
// подключиться к серверу LDAP if(!($ldap=ldap_connect("localhost"))) {
die("Невозможно подключиться к серверу LDAP!");
}
//задать DN регистрации
$dn="cn=Manager,dc=leonatkinson,dc=com"; // попытка подключиться к DN с использованием пароля if(!ldap_bind($ldap, $dn, "secret"))
{
die("Невозможно связаться с '$dn'!"),-
}
// создать запись $entry["cn"]="Barry Bat"; $entry["objectClass"]="inetOrgPerson"; $entry["sn"]="Barry";
$entry["mail"][0] = "barry@example.com",-$entry["mail"][1] = "bat@example.com",-
$entry["initials"]="BB";
$entry["homePhone"]="123-123-1234"; $entry["mobile"]="123-123-1234"; // создать DN для новой записи $dn = "cn=Barry Bat,dc=leonatkinson,dc=com"; // добавить запись if(ldap_add($ldap, $dn, $entry))
{
print("Запись добавлена!");
}
else
{
print(" Ошибка операции добавления записи!");
}
// Закрыть соединение ldap_close($ldap);

boolean ldap_bind(resource connection, string dn, string password)
Функция ldap_bind предназначена для привязки каталога. Необязательные аргументы dn и password предназначены для идентификации. Обычно серверы требуют аутентификации для любой команды, изменяющей содержимое каталога.
boolean ldap_close(resource connection)
Функция ldap_close закрывает соединение с сервером каталога.
boolean ldap_compare(resource connection, string dn, string attribute, string value)
Функция ldap_compare сравнивает запись с заданным значением.
integer ldap_connect(string host, integer port)
Функция ldap_connect возвращает идентификатор соединения LDAP или значение FALSE в случае возникновения ошибки. Оба аргумента являются необязательными. Без аргументов ldap_connect функция возвращает идентификатор текущего открытого соединения. Если аргумент port не указан, работа ведется с портом 389.

Понравился материал? Поделитесь с друзьями!



<< Предыдущая статьяСледующая статья >>
PHP. Базы данных. Часть Четвёртая. PHP. Базы данных. Часть Шестая.