LDAP library for Java.
Ldaptive is a simple, extensible Java API for interacting with LDAP servers. It was designed to provide easy LDAP integration for application developers.
Developers need LDAP integration for their products, but the JNDI API is cumbersome and takes a great deal of resources to learn and use. In addition, most applications only require a subset of LDAP functionality: search and authentication.
version [2.0.0-RC5] is now available in maven central for testing.
v1 docs are still available.
Note that the JNDI provider is broken in Java versions 9 through 13. If you’re upgrading to Java 11 or greater you should upgrade ldaptive to v1.3.0 and make sure you’re not explicitly using the JNDI provider.
- Netty based asynchronous networking
- Reactive API
- Connection pooling
- Authentication API with support for password policy
- JAAS modules for authentication and authorization
- SSL/startTLS support with easy configuration of trust and key material
- Input/output of LDIF
- Supported controls:
- ManageDsaIT (RFC 3296)
- Paged results (RFC 2696)
- Virtual List View (draft-ietf-ldapext-ldapv3-vlv-09)
- Server side sorting (RFC 2891)
- Content synchronization (RFC 4533)
- Proxy Authorization (RFC 4370)
- Persistent Search (draft-ietf-ldapext-psearch-03)
- Password policy (draft-behera-ldap-password-policy-10 and draft-vchu-ldap-pwd-policy-00)
- Session tracking (draft-wahl-ldap-session-03)
- Tree delete (draft-armijo-ldap-treedelete)
Quick Start Guide
These search examples all leverage the SearchOperation class. For more details on searching and more control over the search operation in general, see the search operation documentation.
For more details on authentication, see the authentication documentation.
What changed between v1 and v2?
- Ldaptive is no longer a wrapper API around other Java libraries. It now includes it’s own LDAP protocol implementation.
- The try-finally paradigm used for connection management has been removed. All operations use a connection factory and implement that pattern internally.
- Most classes now include static builders.
SearchExecutorfunctionality is now included in
SearchOperation, that class has been removed.
SortBehaviorhas been removed in favor of providing static sort methods on individual classes.
- Search result cache implementations have been removed. It’s trivial for application to do their own caching.
- Transcoders have been moved to the
SearchFilterhas been renamed