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

4.1.5. Значение атрибута

Поле типа AttributeValue — это строка OCTET STRING, содержащая закодированное значение атрибута. Значение атрибута кодируется согласно LDAP-специфичному определению кодирования соответствующего этому атрибуту синтаксиса. LDAP-специфичные определения кодирования для различных синтаксисов и типов атрибутов можно найти в других документах, в частности в [RFC4517].

AttributeValue ::= OCTET STRING

Имейте ввиду, что ограничений на размер данного кодирования не определено; таким образом, значения протокола могут включать значения атрибутов в несколько мегабайт (например, фотографии).

Значения атрибута могут быть определены так, чтобы у них был произвольный или непечатный синтаксис. В реализациях недопустимо (MUST NOT) отображать или пытаться декодировать значение атрибута, если его синтаксис неизвестен. Реализация может попытаться найти поднабор схемы данных исходной записи и получить из него описание этого типа атрибута 'attributeTypes' [RFC4512].

В ответ на запрос клиенты должны (MUST) посылать только те значения атрибутов, которые являются верными в соответствии с синтаксисами, определёнными для этих атрибутов.

4.1.6. Утверждение значения атрибута (Attribute Value Assertion)

Определение типа AttributeValueAssertion (AVA) аналогично приведённому с стандартах каталога X.500. Он содержит описание атрибута и правило соответствия ([RFC4512], раздел 4.1.3) утверждаемого значения, подходящего для данного типа атрибута. Элементы данного типа обычно используются для утверждения того, что значение в assertionValue соответствует значению атрибута.

AttributeValueAssertion ::= SEQUENCE {
     attributeDesc   AttributeDescription,
     assertionValue  AssertionValue }

AssertionValue ::= OCTET STRING

Синтаксис AssertionValue зависит от контекста выполняемой операции LDAP. Например, синтаксис правила соответствия EQUALITY для атрибута используется при выполнении операции Compare. Часто это тот же самый синтаксис, что используется для значений этого типа атрибута, но в некоторых случаях синтаксис утверждения отличается от синтаксиса значения. Например, смотрите objectIdentiferFirstComponentMatch в [RFC4517].

4.1.7. Атрибут (Attribute) и частичный атрибут (PartialAttribute)

Атрибуты и частичные атрибуты состоят из описания атрибута и значений атрибута. PartialAttribute позволяет не иметь значений (ноль значений), а Attribute требует наличия хотя бы одного значения.

PartialAttribute ::= SEQUENCE {
     type       AttributeDescription,
     vals       SET OF value AttributeValue }

Attribute ::= PartialAttribute(WITH COMPONENTS {
     ...,
     vals (SIZE(1..MAX))})

Как описано в разделе 2.2 [RFC4512], никакие два значения атрибута не могут быть эквивалентны. Набор значений атрибутов не отсортирован. Реализации не должны (MUST NOT) полагаться на то, что порядок значений атрибутов от запроса к запросу будет повторяться.

4.1.8. Идентификатор правила соответствия

Правила соответствия определяются в разделе 4.1.3 [RFC4512]. Правило соответствия идентифицируется в протоколе состоящим из печатных символов представлением либо его числового идентификатора объекта <numericoid>, либо одного из его коротких имён-дескрипторов [RFC4512], например, 'caseIgnoreMatch' или '2.5.13.2'.

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