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

4.2. Операция подсоединения Bind

Функция операции Bind — разрешить обмен аутентификационной информацией между клиентом и сервером. Операция Bind должна рассматриваться как операция "аутентификации". Операционные, аутентификационные и связанные с безопасностью семантики данной операции даны в [RFC4513].

Запрос Bind определяется следующим образом:

BindRequest ::= [APPLICATION 0] SEQUENCE {
     version                 INTEGER (1 .. 127),
     name                    LDAPDN,
     authentication          AuthenticationChoice }

AuthenticationChoice ::= CHOICE {
     simple                  [0] OCTET STRING,
                             -- 1 и 2 зарезервированы
     sasl                    [3] SaslCredentials,
     ... }

SaslCredentials ::= SEQUENCE {
     mechanism               LDAPString,
     credentials             OCTET STRING OPTIONAL }

Поля BindRequest:

  • version:

    номер версии, указывающий версию протокола, которая будет использоваться на уровне сообщений LDAP. В этом документе описывается версия 3 протокола. Согласования версий не производится. Клиент устанавливает версию в этом поле по своему желанию. Если сервер не поддерживает указанную версию, он должен (MUST) ответить сообщением BindResponse, в котором результирующий код resultCode установлен в protocolError.

  • name:

    если поле не пустое, оно содержит имя объекта каталога, от которого клиент хочет произвести подсоединение. Это поле может принимать нулевое значение (строка нулевой длины) в целях анонимного подсоединения ([RFC4513], раздел 5.1) или при использовании SASL-аутентификации [RFC4422] ([RFC4513], раздел 5.2). При попытке найти поименованный объект, серверу не следует (SHALL NOT) выполнять разыменование псевдонимов.

  • authentication:

    информация, используемая для аутентификации. Эта часть сообщения является расширяемой, как определено в разделе 3.7 [RFC4520]. Серверы, не поддерживающие предоставленный клиентом вариант аутентификационной информации, возвращают сообщение BindResponse с результирующим кодом resultCode, установленным в authMethodNotSupported.

Текстовые пароли (состоящие из последовательности символов с известным набором символов и кодировкой), передаваемые на сервер с использованием варианта simple конструкции AuthenticationChoice, должны (SHALL) передаваться как [Unicode], закодированный UTF-8 [RFC3629]. Перед передачей клиенту следует (SHOULD) подготовить текстовые пароли как строки запроса "query" путём применения к ним профиля SASLprep [RFC4013] алгоритма stringprep [RFC3454]. Пароли, состоящие из других данных (такие, как случайный набор октетов), не должны (MUST NOT) изменяться. Определение того, является ли пароль текстовым, возлагается на клиента.

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