Providers
Ldaptive does not implement any of the LDAP protocol. Instead, LDAP operations are delegated to what we call a provider. This allows developers and deployers to change the underlying library that provides the LDAP implementation without modifying any code. By default the JNDI provider is used, but a provider can be specified programmatically:
or it can be specified with a JVM system property:
Functionality Comparison
Provider | SSL | startTLS | SASL External | Digest-MD5 | CRAM-MD5 | GSSAPI | Follow Referrals |
---|---|---|---|---|---|---|---|
JNDI | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
JLDAP | ✓ | ✓ | ✶ | ✓ | ✗ | ✗ | ✓ |
Apache LDAP | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ | ✗ |
UnboundID | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
OpenDJ | ✓ | ✓ | ✓ | ✓ | ✶ | ✶ | ✗ |
✓ | Functionality exists in the provider API and has been confirmed |
✗ | Functionality does not exist in the provider API |
✶ | Functionality exists in the provider API, but did not work in our test environment |
? | Functionality exists in the provider API, but has not been integrated into the ldaptive provider |
Installation & Configuration
Providers may have custom properties that aren’t represented in the ldaptive configuration objects. Those properties are detailed in the following sections. If you don’t like the behavior of a provider consider extending it to change its functionality.
JNDI Provider
This provider is included in the core library as it has no dependencies outside the Java SE, so it does not need to be installed. The following configuration properties are specific to this provider:
Other Links
- http://www.oracle.com/technetwork/java/jndi/index.html
- http://download.oracle.com/javase/jndi/tutorial/
JLDAP Provider
This provider uses the JLDAP library created by Novell and often used with their eDirectory product. The following configuration properties are specific to this provider:
Other Links
Apache LDAP Provider
This provider uses the Apache LDAP API library created in conjunction with the Apache Directory Project. This library is still under development and should be considered beta software. The following configuration properties are specific to this provider:
Other Links
UnboundID Provider
This provider uses the UnboundID LDAP SDK created by UnboundID for use with their directory product. The following configuration properties are specific to this provider:
Other Links
OpenDJ Provider
This provider uses the OpenDJ LDAP SDK created in conjunction with the OpenDJ project. This project was forked from the OpenDS project. Instructions on how to install this provider can be found at: http://opendj.forgerock.org/opendj-ldap-sdk/. The following configuration properties are specific to this provider: