Структура ошибок в Openldap

Структура ошибок в Openldap

У меня есть вопрос по Openldap. Я использую решение (PingFederate), которое получает ошибки от openldap, чтобы делать разные вещи в зависимости от фильтра. Например, я могу сказать: обнаружить недействительную ошибку DN и когда вы ее получите, что-то сделать.

Я установил olcPPolicyUseLockout в значение true в ppolicy, чтобы получать больше информации при наличии недействительных учетных данных; так что Pingfederate мог бы это обнаружить. Но это не работает

При использовании ldapwhoami с -e ppolicy я получаю следующее: ldap_bind: Неверные учетные данные (49); Срок действия пароля истек ldap_bind: Неверные учетные данные (49); Учетная запись заблокирована

Итак, мой вопрос заключается в следующем: что означает точка с запятой в Openldap? Учитывается ли сообщение после точки с запятой? Передает ли Openldap всю ошибку другим решениям, с которыми он интегрирован?

решение1

Прежде всего, следует отметить, что инструменты командной строки OpenLDAP выводят текстовое представление кода результата и диагностического сообщения, которое не является точной кодировкой протокола передачи данных.

LDAP PDU — это сообщения в кодировке ASN.1. Чтобы понять структуру ответа, вы можете посмотретьRFC 4511, раздел 4.1.9Для наблюдения за LDAP PDU, фактически отправленными компонентами LDAP, очень полезен LDAP-диссектор в Wireshark.

В основном это наложение OpenLDAPslapo-ppolicyорудийчерновик-behera-ldap-password-policy-09. В этом интернет-проекте определены так называемые расширенные элементы управления как для запросов, так и для ответов, которые расширяют семантику протокола операции привязки.

Это означает, что каждый клиент LDAP, поддерживающий политику, должен 1. отправитьуправление запросами политики паролейи 2. декодировать и интерпретироватьконтроль реакции.

Смотрите такжедемо-код python-ldapВ качестве примера.

Связанный контент