search_s search_ext_s search_s методы библиотеки python-ldap не возвращают никакого кода ответа Success - PullRequest
0 голосов
/ 04 июля 2018

Я использую метод search_ext_s () python-ldap для поиска результатов на основе filter_query, после завершения поиска я получаю msg_id, который я передал в функции результата, подобной ldap_object.result (msg_id), которая возвращает кортеж, подобный этому ( 100, значения атрибутов), что правильно (я также пробовал result2, result3, result4 метод объекта LDAP), но как я могу получить код ответа для запроса поиска ldap, также, если нет результата для данной filter_criteria, я получаю пустой список, тогда как в в случае исключения я получаю правильное сообщение, как это ldap.SERVER_DOWN: {u'info ':' Конечная точка транспорта не подключена ',' errno ': 107,' desc ': u "Невозможно связаться с сервером LDAP"} Может кто-нибудь, пожалуйста, помогите мне, если существует какой-либо атрибут, который может дать код результата для успешной операции поиска LDAP.

Спасибо, Радхика

1 Ответ

0 голосов
/ 16 июля 2018

Сервер LDAP может просто не вернуть никаких результатов, даже если в операции поиска, отправленной клиентом, не было ничего плохого. С python-ldap вы получаете пустой список результатов. В большинстве случаев это происходит из-за контроля доступа, скрывающего содержимое каталога. В общем, сервер LDAP не скажет вам, почему он не дал результатов.

(Есть некоторые особые случаи, когда ldap.INSUFFICIENT_ACCESS повышено, но вы должны ожидать, что поведение будет отличаться при использовании разных серверов LDAP.)

В python-ldap, если операция поиска не вызвала исключение, код результата LDAP был в порядке (0). Таким образом, ваше приложение должно иметь дело с пустым результатом поиска определенным образом, например, с приложением. также подняв пользовательское исключение, обрабатываемое верхними уровнями.

...