The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

slapd-perl (5)
  • >> slapd-perl (5) ( Русские man: Форматы файлов )
  •  

    НАЗВАНИЕ

    slapd-perl - механизм манипуляции данными для slapd perl  

    ОБЗОР

    /usr/local/etc/openldap/slapd.conf  

    ОПИСАНИЕ

    Механизм манипуляции данными для slapd(8) perl работает путём встраивания интерпретатора perl(1) в slapd(8). В каждом разделе базы данных perl конфигурационного файла slapd.conf(5) необходимо указать, какой модуль Perl использовать. После этого slapd создаёт новый объект Perl, который будет обрабатывать все запросы для этого конкретного экземпляра базы данных механизма манипуляции данными.

    Вам необходимо создать метод для каждого из следующих действий:

      * new        # создаёт новый объект,
      * search     # выполняет поиск ldap,
      * compare    # производит сравнение,
      * modify     # модифицирует запись,
      * add        # добавляет запись в базу данных механизма манипуляции данными,
      * modrdn     # модифицирует rdn записи,
      * delete     # удаляет запись ldap,
      * config     # обрабатывает специфичные для этого модуля директивы конфигурации,
      * init       # вызывается после инициализации механизма манипуляции данными.
    

    Если не определено иное, эти методы возвращают результирующий код, который будет возвращён клиенту. Нереализованные действия могут просто вернуть unwillingToPerform (53).

    new
    Этот метод вызывается, когда в файле конфигурации встречается строка perlModule. Указанный в этой строке модуль импортируется командой use в интерпретатор perl, а затем для создания нового объекта вызывается метод new. Обратите внимание, что, как и с любым классом perl, может быть создано несколько экземпляров такого объекта. В качестве аргумента метод new получает имя класса.
    search
    Этот метод вызывается, когда от клиента поступает запрос search. Аргументы данного метода следующие:
      * ссылка на объект
      * базовое DN
      * диапазон поиска
      * политика разыменования псевдонимов
      * ограничение по размеру
      * ограничение по времени
      * строка фильтра
      * флаг возвращения только типов атрибутов (1, если установлен)
      * список атрибутов, которые требуется вернуть (может быть пустым)
    

    Возвращаемое значение: (результирующий_код, ldif-запись, ldif-запись, ...)

    compare
    Этот метод вызывается, когда от клиента поступает запрос compare. Аргументы данного метода следующие:
      * ссылка на объект
      * dn
      * строка утверждения значения атрибута
    

    modify
    Этот метод вызывается, когда от клиента поступает запрос modify. Аргументы данного метода следующие:
      * ссылка на объект
      * dn
      * список, отформатированный следующим образом
        ({ "ADD" | "DELETE" | "REPLACE" },
         тип_атрибута, значение...)...
    

    add
    Этот метод вызывается, когда от клиента поступает запрос add. Аргументы данного метода следующие:
      * ссылка на объект
      * запись в строковом формате
    

    modrdn
    Этот метод вызывается, когда от клиента поступает запрос modrdn. Аргументы данного метода следующие:
      * ссылка на объект
      * dn
      * новый rdn
      * флаг удаления старого dn (1, если установлен)
    

    delete
    Этот метод вызывается, когда от клиента поступает запрос delete. Аргументы данного метода следующие:
      * ссылка на объект
      * dn
    

    config
    Этот метод вызывается каждый раз, когда в конфигурационном файле slapd.conf(5) встречается строка perlModuleConfig. Аргументы данного метода следующие:
      * ссылка на объект
      * массив аргументов в строке
    

    Возвращаемое значение: ненулевое, если данная опция является неверной.

    init
    Этот метод вызывается после инициализации механизма манипуляции данными. Аргументы данного метода следующие:
      * ссылка на объект
    

    Возвращаемое значение: ненулевое, если инициализация не удалась.  

    КОНФИГУРАЦИЯ

    Приведённые ниже директивы slapd.conf применяются к базам данных механизма манипуляции данными PERL. То есть, они должны следовать за строкой "database perl" и находиться до последующих строк "backend" или "database". Другие относящиеся к базам данных директивы описаны в man-странице slapd.conf(5).
    perlModulePath /path/to/libs
    Добавляет указанный путь к переменной perl @INC.
    perlModule ModName
    Импортирует (`use') модуль с именем ModName из файла ModName.pm
    filterSearchResults
    Определяет, будут ли результаты поиска, возвращаемые механизмом манипуляции данными, рассматриваться как кандидаты, которых необходимо отфильтровать (с помощью фильтра, указанного в поисковом запросе), а не напрямую отправляться клиенту.
    perlModuleConfig <аргументы>
    Вызывает определённый в модуле метод config с заданными аргументами.
     

    ПРИМЕР

    Пример модуля Perl `SampleLDAP' находится в директории slapd/back-perl/ дерева исходных кодов OpenLDAP.  

    КОНТРОЛЬ ДОСТУПА

    Механизм манипуляции данными perl не соблюдает каких-либо семантик контроля доступа, описанных в man-странице slapd.access(5); контроль доступа целиком делегируется PERL-скрипту, обрабатывающему запросы. Выполняется только проверка доступа на чтение read (=r) для псевдо-атрибута entry и других значений атрибутов записей, возвращаемых операцией search, поскольку она выполняется механизмом frontend.  

    ПРЕДУПРЕЖДЕНИЯ

    Интерфейс этого механизма манипуляции данными к модулю perl МОЖЕТ измениться. Любые предложения приветствуются.

    Примечание: в предыдущих версиях любые нераспознанные строки файла slapd.conf передавались в метод config модуля perl. Такое поведение является устаревшим (но все ещё допустимым для обеспечения обратной совместимости), а для вызова метода config теперь следует использовать директиву perlModuleConfig. В будущем функционал обратной совместимости по вызову метода config будет удалён.  

    ФАЙЛЫ

    /usr/local/etc/openldap/slapd.conf
    конфигурационный файл slapd по умолчанию.
     

    СМОТРИТЕ ТАКЖЕ

    slapd.conf(5), slapd(8), perl(1).


     

    Index

    НАЗВАНИЕ
    ОБЗОР
    ОПИСАНИЕ
    КОНФИГУРАЦИЯ
    ПРИМЕР
    КОНТРОЛЬ ДОСТУПА
    ПРЕДУПРЕЖДЕНИЯ
    ФАЙЛЫ
    СМОТРИТЕ ТАКЖЕ


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру