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



         

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


 "Невозможно переименовать, код ошибки it".

$res->code() if $ies->oede()

В действительности метод moddn() модуля Net;: LDAP может гораздо больше, чем показано в предыдущем примере. До сих пор изменялось только RDN-имя элемента, в то время как местоположение элемента в иерархии дерева каталогов оставалось прежним. В LDAP версии 3 появилась более мощная операция для переименования, позволяющая произвольным образом менять местоположение элемента в дереве каталогов. Метод moddn(), вызванный с дополнительным параметром т„ superior, предоставляет доступ к такой возможности. Если добавить параметр таким образом:

Sresult = $c->nioddn($oldDN.

newrdn => SnewRDN,

deleteoldrdn => 1,

newsuperioi" => SparentDN);

die "Невозможно переименовать, код ошибки #".

$res->code() if $res->codef).

то элемент из SoldDN будет перенесен и станет дочерним элементом DN-имени, определенного в SparentDN. Гораздо эффективнее использовать этот метод, а не последовательность add() или delete(), как требовалось раньше, для перемещения элементов в дереве каталогов, но подобная возможность поддерживается не всеми LDAP-серверами. В любом случае, если вы скрупулезно проектируете структуру дерева каталогов, вам реже придется переносить элементы с места на место.

Изменение атрибутов элемента

Теперь перейдем к более распространенным операциям - изменению атрибутов и значений атрибутов элемента. В этом случае тоже существуют значительные различия между модулями mgziи not : :LOAP. Применяя Мо/ИЛа: : LDAP для изменения атрибута элемента.

необходимо использовать .один из методов, представленных в табл. 6.5.

Таблица 6.5. Методы изменения элементов в Mozilla::LDAP

Метод

действие

$entry->addValue($attrname, Sattrvalue) 

Добавляет указанное значение заданному атрибуту в указанном элементе. 

$entry-> removeValue($attrname! Sattrvalue) 

Удаляет указанное значение для заданного атрибута указанного элемента. Если это значение единственное для атрибута, то удаляется и весь атрибут. 

$entry-> setValue($attrname, $attrvalue1,...) 

Изменяет значения указанного атрибута в заданное значение или значения. 

$entry-> rerTTOve(Sattrname) 

Удаляет указанный атрибут (вместе со значениями) из элемента. 

<


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