Пустой результат Python-LDAP в search_s

Я просмотрел несколько примеров и ответов, однако я в тупике. Несколько минут назад это сработало, а теперь просто не возвращает результат. Никакого изменения кода не произошло.

Тестовый код, который у меня есть, извлекает членов из группы ролей LDAP и печатает DN участников. Несколько минут назад это сработало, а теперь продолжает возвращать пустые результаты. Я также напечатал ldap_result, и он тоже пуст.

def ldapgroupmembers():
    try:
        username = str(raw_input('Email: '))
        password = str(getpass.getpass())
        l = ldap.initialize("ldap://company.co.za")
        l.simple_bind_s(username, password)
        myfilter = "(&DN=GROUP)(cn=My-RG-Group))"
        ldap_result = l.search_s("OU=MyGroups,OU=Role Groups,OU=Groups,OU=CompanyOU,DC=company,DC=co,DC=za", ldap.SCOPE_SUBTREE, myfilter, ['member'])
        for dn in ldap_result[0][1]['member']:
            print dn
    except ldap.INVALID_CREDENTIALS:
        print "Invalid credentials"
        return "Invalid credentials"
    except ldap.SERVER_DOWN:
        print "Server down"
        return "Server down"
    except ldap.LDAPError, e:
        if type(e.message) == dict and e.message.has_key('desc'):
            return "Other LDAP error: " + e.message['desc']
        else:
            print "Other LDAP error: "
            return "Other LDAP error: " + e
    finally:
        l.unbind_s()
    return "Succesfully authenticated"

Ваша помощь будет принята с благодарностью.


person Dusty Boshoff    schedule 09.09.2020    source источник


Ответы (1)


Я нашел проблему. Оказывается, я никогда не закрывал скобку myfilter и удалил первый набор скобок, в котором фильтрую dn=GROUP.

person Dusty Boshoff    schedule 14.09.2020