Perl для системного администрирования



         

LDAP: сложная служба каталогов - часть 10


нии и изменении элементов подобные вопросы будут рассматриваться подробно.

Если Mozilla: : LDAP выполняет поиск и возвращает экземпляр объекта элемента, то можно обратиться к отдельным атрибутам этого элемента, применяя синтаксис, используемый в Perl при работе с хэшами списков. $entry->{attributenaiTie} - это

список

значений атрибута с таким именем. Я выделил слово «список», т. к. атрибуты даже с одним

значением хранятся в анонимном списке, на который ссылается этот ключ хэша. Для получения единственного значения атрибута необходимо использовать запись $entry->{aUr ннг.'л аге}->[0]. Некоторые методы модуля Mozilla: : LDAP: : Entry возвращают атрибуты элемента (табл. 6.3).

Таблица 6.3. Методы Mozilla::LDAP::Entry

Вызов метода

Возвращает

Sent ry- >exists( $att r name )

true, если элемент имеет атрибут с таким именем

$entry->hasValue($attrname,$att rvalue)

true, если элемент имеет названный атрибут с указанным значением

$entry->matchValue($attrnamet $att rvalue

Так же, как и предыдущий, только ищется соответствие регулярному выражению, определенному в качестве значения атрибута

$entry->size($attrname)

Количество значений этого атрибута (обычно 1, если только атрибут не обладает несколькими значениями)

Отдельные методы имеют дополнительные параметры, узнать о которых можно в документации по Mozilla:: LDAP:: Ent ry.

Из программы видно, что методы для доступа к атрибутам элементов в Net:: LDAP несколько отличаются. После проведения поиска все результаты инкапсулируются в один объект. Получить отдельные атрибуты каждого элемента из этого объекта можно, применив один из двух способов.

Во-первых, модуль может преобразовать все полученные элементы в одну большую структуру данных, доступную пользователям. Ssearchobj ->as_struct() возвращает структуру данных, представляющую собой хэш хэшей списков. Метод возвращает ссылку на хэш, ключами которого являются DN-имена полученных элементов. Значения ключей - это ссылки на анонимные хэши, ключами которых являются имена атрибутов. Ключам соответствуют ссылки на анонимные массивы, содержащие значения данных атрибутов (рис. 6.1).




Содержание  Назад  Вперед