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

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

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

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

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

0
задан 19 April 2021 в 18:09
1 ответ

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

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

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

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

См. также демонстрационный код python-ldap в качестве примера.

0
ответ дан 26 April 2021 в 22:57

Теги

Похожие вопросы