Типичные переговоры LDAP операции Bind
15.0. Типичные переговоры LDAP операции Bind
Операция Bind передает аутентификационную информацию от клиента к серверу.
Запрос 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 }
Параметрами запроса Bind являются:
- Version: номер версии, указывает используемую версию протокола. В настоящий момент максимальная версия протокола равна 3. Заметим, что переговоров о номере версии не ведется, клиент просто посылает данный параметр. Если сервер не поддерживает указанную версию, он отвечает protocolError в поле resultCode в BindResponce.
- Name: имя объекта директории, к которой клиент хочет присоединиться. Данное поле может иметь нулевое значение (строку нулевой длины) для анонимного связывания или когда используется SASL аутентификация.
- Authentication: информация, используемая для аутентификации имени, указанного в запросе Bind. Серверы, которые не поддерживают выбор, предлагаемый клиентом, будут возвращать authMethodNotSupported в коде результата для запроса Bind. Аутентификацию с использованием механизмов SASL мы рассматривать не будем, так как эти способы аутентификации в инфраструктуре открытого ключа при доступе к репозиторию LDAP сейчас не используются.
Ответ Bind определяется следующим образом.
BindResponse ::= [APPLICATION 1] SEQUENCE { COMPONENTS OF LDAPResult, serverSaslCreds [7] OCTET STRING OPTIONAL }
BindResponce состоит из индикации от сервера статуса запроса клиента на аутентификацию.
Если связывание прошло успешно, то resultCode будет success, в противном случае он должен содержать OperationError или другую индикацию неудачной аутентификации. Если сервер не поддерживает требуемую клиенту версию протокола, он должен установить resultCode в protocolError.
Содержание раздела