Я проверил свой запрос ldap с помощью ldapsearch
перед тем, как переписать его в модуль python ldap.Тот же самый запрос прекрасно работает с ldapsearch
, но возвращает пустой массив в python.
ldapsearch -H [hostname] -LLL -b [base] -D [user] -w [password] -x "city=Bratislava"
В python:
ldap_obj = ldap.initialize(ldap_config.LDAP_SERVER)
ldap_obj.simple_bind(ldap_config.LDAP_USER, ldap_config.LDAP_PASSWORD)
ldap_results_obj = ldap_obj.search(
ldap_config.LDAP_BASE_DN,
ldap.SCOPE_SUBTREE,
'city=Bratislava',
)
results = ldap_obj.result(ldap_results_obj)
print results
Я попытался использовать другой фильтр, например uid=bmakan
и этот работал как в ldapsearch
, так и в ldap python.Пустой список возвращался только тогда, когда я использовал фильтр, который возвращает несколько записей ldap.