RFC: 4511
Оригинал: Lightweight Directory Access Protocol (LDAP): The Protocol
Предыдущие версии: RFC 2251, RFC 2830, RFC 3771
Категория: Предложенный стандарт
Дата публикации:
Автор:
Перевод: Pro-LDAP.ru

4.6. Операция модификации Modify

Операция модификации Modify позволяет клиенту запросить, чтобы сервер выполнил модификацию записи от его имени. Запрос Modify определяется следующим образом:

ModifyRequest ::= [APPLICATION 6] SEQUENCE {
     object          LDAPDN,
     changes         SEQUENCE OF change SEQUENCE {
          operation       ENUMERATED {
               add     (0),
               delete  (1),
               replace (2),
               ... },
          modification    PartialAttribute } }

Поля запроса Modify:

  • object:

    Значение этого поля содержит имя записи, которая будет модифицирована. Серверу не нужно (SHALL NOT) выполнять какие-либо разыменования псевдонимов для определения объекта, который требуется модифицировать.

  • changes:

    Список модификаций, которые будут произведены над записью. Все модификации из списка должны (MUST) быть выполнены в порядке их перечисления как одна атомарная операция. Хотя отдельные модификации могут нарушать определенные аспекты схемы данных каталога (такие, как определение объектного класса и правило содержимого информационного дерева каталога (Directory Information Tree, DIT)), результирующая запись после выполнения всех модификаций из списка должна (MUST) удовлетворять требованиям модели каталога и управляющей схемы [RFC4512].

  • operation:

    Используется для указания типа выполняемой модификации. Каждый тип операции воздействует на тот атрибут, который указан в следующем за полем operation поле modification. Значения этого поля имеют следующие семантики (соответственно):

    • add:

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

    • delete:

      удалить перечисленные значения из атрибута, указанного в поле modification. Если не было перечислено никаких значений или если были перечислены все текущие значения данного атрибута, атрибут удаляется полностью.

    • replace:

      заменить все существующие значения атрибута, указанного в поле modification на новые (перечисленные), создать атрибут, если его ещё не существовало. В случае, если новые значения не были перечислены, замена сводится к удалению атрибута целиком, если он существует, и к игнорированию операции, если он не существует.

  • modification:

    Частичный атрибут PartialAttribute (у которого может быть пустой набор значений). Это поле используется для указания того типа атрибута или типа атрибута вместе со значениями, которые будут модифицироваться.

2007 - 2017 © Русские переводы RFC, IETF, ISOC.