Possible Duplicate:
Python-LDAP integration
Good afternoon!
I am writing a program for work that searches an LDAP database for IDs based on names in a text file.
I'm going to write this in Python, as it has become my language of choice.
My question is, what is the best client LDAP API for Python, and where can I download it?
It would have to be compatible with Red Hat Enterprise Linux Server release 5.7 (Tikanga), as that is the distro I am using.
Best,
ktm
I have used http://www.python-ldap.org/ and it worked fine.
Generally speaking, at the very least an API must support (no matter the language):
- matching and ordering rules because native language-based comparison operators must not be used with data retrieved from a directory server.
- support for retrieving attribute syntaxes, matching rules, and ordering rules from the directory server schema
- support for request and response controls, as well as support for extended operations and extended results; this support must include the ability to encode data to be packaged with request and response controls
- a high level of security support; this must include support for SSL and/or StartTLS (itself an extended operation)
- support for all LDAP standard compliant constructs (there is an API for a very popular language which does not support search scopes of anything other than subtree, which prevents inspecting the root DSE for request control, extended operation support, feature support, and supported SASL authentication mechanisms. Use of this deficient API can result in loss of critical data in mission-critical or non-trivial environments).
Nice to have:
- support for asynchronous search result listeners (and synchronous search result listeners)
- support for LDAP transactions (atomic updates)
- support for all defined SASL authentication mechanisms as well as simple bind mechanisms
- localization support
- easy access to debugging and control of same
- built-in support for failover and load-balancing
- thread safety
Way nice to have:
- Native support for connection pooling.