pyramid_ldap3 provides LDAP authentication services for your Pyramid application. It is a fork of the pyramid_ldap package with the goal of eliminating the dependency on python-ldap and ldappool, replacing it with a dependency on ldap3, which is a pure Python package that supports both Python 2 and Python 3.
See the documentation at https://pyramid-ldap3.readthedocs.io/ for more information.
- The login value in the search filter is now properly escaped in the authenticate() method. Although the bind test in the second stage of the method ensures the proper password is passed, this could be exploited to login with a different user name like ‘foo*’ instead of ‘foobar’. Thanks to Patrick Valsecchi for the bug report.
- Since ldap3 version 2.0.7, schema information is loaded from the server on every connection. This is normally not needed for authentication and slows down the connections, so we now disable this feature. If you fetch user or group attributes and want them to be properly formatted, you must enable this feature by setting get_info to ‘SCHEMA’ or ‘ALL’ when calling ldap_setup().
- Adaptations to changes in ldap3 version 2, including changed constant names.
- This version is intended to support the newer ldap3 versions >= 2.0 only.
- Explicitly requires ldap3 < version 2.0 for compatibility reasons.
- This version is intended to support the older ldap3 versions < 2.0 only.
- The pool lifetime is now configurable
- Account for renaming of python3-ldap to ldap3
- Proper unbinding of Connections
- Do not fill cache if caching has been disabled
- Release as source package and universal wheel
- Support server pools
- Ignore results without a dn instead of raising an error
- Escape special characters when querying for groups
- Do not cache invalid responses
- Added documentation on recursive group queries
- Use implicit binding and proper unbinding of connections.
- Made return values of pyramid_ldap3 compatible with pyramid_ldap.
- Initial version