Java framework to simplify LDAP operations, based on the pattern of Spring's JdbcTemplate. Relieves the users of the burden of looking up and closing contexts, looping through NamingEnumerations, encoding/decoding values and filters, and more.
Be the first to post a text review of LdapTemplate. Rate and review a project by clicking thumbs up or thumbs down in the right column.
Users of LdapTemplate might be interested to know that the first version of Spring LDAP has been released. Spring LDAP version 1.1 is based on LdapTemplate version 1.0.2 and users currently using or considering to use LdapTemplate are recommended to use Spring LDAP instead, as the LdapTemplate project is no longer maintained. Information about Spring LDAP can be found at: http://www.springframework.org/ldap and support is available at http://forum.springframework.org
Please note that since this project has migrated to the spring-projects space, support is now available on the Spring Framework support forums (http://forum.springframework.org). The ldaptemplate-user mailing list is no longer maintained, though it will be left in place for reference to earlier questions and answers.
The LdapTemplate project has been included as a Spring Framework subproject under the name of Spring-LDAP. From now on support on the project will be given on the Spring-LDAP forum under the Spring Framework Support forums (http://forum.springframework.org/). All future development and releases will take place under the spring-projects space, even though the original LdapTemplate project will be left in place for the time being. It is expected that being part of the Spring Framework community will help ensuring future quality and maintenance of the project. Users will find migrating from LdapTemplate to the first version of Spring-LDAP virtually effortless; details on migration will be given when the first version (spring-ldap-1.0.3) is released.
Changes in version 1.0.2 (27.6.2006) ------------------------------------ * Added methods in LdapTemplate to unbind recursively. * Added rename() method to LdapTemplate. * Fixed bug in getPrefix() of DistinguishedName. * Fixed bug in getModificationItems() of DirContextAdapter. The method now correctly handles changes of individual vales in multi-value attributes. * Introduced AbstractContextSource, moved the code from LdapContextSource there and made LdapContextSource and DirContextSource inherit from this. * Upgraded to Acegi 1.0.0. Removed classes no longer needed: LdapTemplateLdapAuthenticationProvider LdapTemplateUserDetails *NOTE*: This means that configuration needs to be changed if using Acegi, since the API and package structure has changed in Acegi between versions 1.0.0-RC2 and 1.0.0 final. Changes in version 1.0.1 (5.5.2006) ----------------------------------- * Now checking whether the first argument to getObjectInstance in DefaultDirObjectFactory is a Context, and if so, closing it properly. * Fixed reference to non-existent ContextSourceImpl in ldaptemplate-person. * Upgraded Spring to 2.0-m4. * Upgraded DDSteps to 1.1-rc1 and EasyMock to 1.2. Changes in version 1.0 (24.4.2006) ---------------------------------- * Introduced the AuthenticationSource interface to enable other strategies for retrieving principal and credentials than a hard-coded username/password. * Added the AcegiAuthenticationSource implementation for retrieving a previously authenticated principal and credentials using Acegi. * Added a 'cacheEnvironmentProperties' property that enables the user to choose whether to cache the environment HashMap or to re-create it each time a new Context is created. * Added an ignorePartialResultException to LdapTemplate which causes all PartialResultExceptions to be ignored during searches, for use when working against Active Directory, which cannot handle referrals correctly. * Added search methods in LdapOperations (and LdapTemplate) that take a parameter for SearchControls. * The methods getNamesOfModifiedAttributes, update, and getAttributeSortedStringSet in DirContextOperations (and DirContextAdapter) no longer throw NamingException. Instead, they throw unchecked DataAccessExceptions. * The method getModificationItems in AttributeModificationsAware no longer throws NamingException. Instead, it throws unchecked DataAccessExceptions. * Removed the (unused) 'task' parameter to NamingExceptionTranslator.translate. * Removed the deprecated ContextSourceImpl class. * Integration tests now run using an in-memory version of Apache Directory Server, rather than requiring a working installation of a directory server. * Integration tests now run together with pure unit tests under the 'tests' Ant target. * The ldaptemplate-person sample web application now uses an in-memory version of Apache Directory Server, rather than requiring a working installation of a directory server. * Upgraded Spring to 2.0-m3. * The build now uses Ivy 1.3.1. Changes in version 1.0-RC2 (22.2.2006) -------------------------------------- * LdapV2 is now supported. ContextSourceImpl has been deprecated. In stead the new LdapContextSource should be used for LdapV3 and a DirContextSource has been added for LdapV2 compatibility. * Ability has been added in LdapContextSource and DirContextSource to specify that an authenticated context should be used for read-only operations as well. Use property 'authenticatedReadOnly' in LdapContextSource/DirContextSource. * The Filter classes have been cleaned up. * DirContextAdapter has been cleaned up. Most important to note is that in this operation the 'setStringAttribute/setStringAttributes' methods have been removed and replaced by 'setAttributeValue/setAttributeValues'. * Base DNs are now correctly URL encoded when building the connection String. This means that spaces and other 'unsafe' characters in base DNs should no longer be manually URL encoded. * An AttributesIntegrityViolationException has been added and is thrown when an InvalidAttributesException is encountered. * More unit tests have been added. Changes in version 1.0-RC1 (27.1.2006) -------------------------------------- * First public release candidate.
Changes in version 1.0.2 (27.6.2006) ------------------------------------ * Added methods in LdapTemplate to unbind recursively. * Added rename() method to LdapTemplate. * Fixed bug in getPrefix() of DistinguishedName. * Fixed bug in getModificationItems() of DirContextAdapter. The method now correctly handles changes of individual vales in multi-value attributes. * Introduced AbstractContextSource, moved the code from LdapContextSource there and made LdapContextSource and DirContextSource inherit from this. * Upgraded to Acegi 1.0.0. Removed classes no longer needed: LdapTemplateLdapAuthenticationProvider LdapTemplateUserDetails *NOTE*: This means that configuration needs to be changed if using Acegi, since the API and package structure has changed in Acegi between versions 1.0.0-RC2 and 1.0.0 final. Changes in version 1.0.1 (5.5.2006) ----------------------------------- * Now checking whether the first argument to getObjectInstance in DefaultDirObjectFactory is a Context, and if so, closing it properly. * Fixed reference to non-existent ContextSourceImpl in ldaptemplate-person. * Upgraded Spring to 2.0-m4. * Upgraded DDSteps to 1.1-rc1 and EasyMock to 1.2. Changes in version 1.0 (24.4.2006) ---------------------------------- * Introduced the AuthenticationSource interface to enable other strategies for retrieving principal and credentials than a hard-coded username/password. * Added the AcegiAuthenticationSource implementation for retrieving a previously authenticated principal and credentials using Acegi. * Added a 'cacheEnvironmentProperties' property that enables the user to choose whether to cache the environment HashMap or to re-create it each time a new Context is created. * Added an ignorePartialResultException to LdapTemplate which causes all PartialResultExceptions to be ignored during searches, for use when working against Active Directory, which cannot handle referrals correctly. * Added search methods in LdapOperations (and LdapTemplate) that take a parameter for SearchControls. * The methods getNamesOfModifiedAttributes, update, and getAttributeSortedStringSet in DirContextOperations (and DirContextAdapter) no longer throw NamingException. Instead, they throw unchecked DataAccessExceptions. * The method getModificationItems in AttributeModificationsAware no longer throws NamingException. Instead, it throws unchecked DataAccessExceptions. * Removed the (unused) 'task' parameter to NamingExceptionTranslator.translate. * Removed the deprecated ContextSourceImpl class. * Integration tests now run using an in-memory version of Apache Directory Server, rather than requiring a working installation of a directory server. * Integration tests now run together with pure unit tests under the 'tests' Ant target. * The ldaptemplate-person sample web application now uses an in-memory version of Apache Directory Server, rather than requiring a working installation of a directory server. * Upgraded Spring to 2.0-m3. * The build now uses Ivy 1.3.1. Changes in version 1.0-RC2 (22.2.2006) -------------------------------------- * LdapV2 is now supported. ContextSourceImpl has been deprecated. In stead the new LdapContextSource should be used for LdapV3 and a DirContextSource has been added for LdapV2 compatibility. * Ability has been added in LdapContextSource and DirContextSource to specify that an authenticated context should be used for read-only operations as well. Use property 'authenticatedReadOnly' in LdapContextSource/DirContextSource. * The Filter classes have been cleaned up. * DirContextAdapter has been cleaned up. Most important to note is that in this operation the 'setStringAttribute/setStringAttributes' methods have been removed and replaced by 'setAttributeValue/setAttributeValues'. * Base DNs are now correctly URL encoded when building the connection String. This means that spaces and other 'unsafe' characters in base DNs should no longer be manually URL encoded. * An AttributesIntegrityViolationException has been added and is thrown when an InvalidAttributesException is encountered. * More unit tests have been added. Changes in version 1.0-RC1 (27.1.2006) -------------------------------------- * First public release candidate.
Changes in version 1.0.2 (27.6.2006) ------------------------------------ * Added methods in LdapTemplate to unbind recursively. * Added rename() method to LdapTemplate. * Fixed bug in getPrefix() of DistinguishedName. * Fixed bug in getModificationItems() of DirContextAdapter. The method now correctly handles changes of individual vales in multi-value attributes. * Introduced AbstractContextSource, moved the code from LdapContextSource there and made LdapContextSource and DirContextSource inherit from this. * Upgraded to Acegi 1.0.0. Removed classes no longer needed: LdapTemplateLdapAuthenticationProvider LdapTemplateUserDetails *NOTE*: This means that configuration needs to be changed if using Acegi, since the API and package structure has changed in Acegi between versions 1.0.0-RC2 and 1.0.0 final. Changes in version 1.0.1 (5.5.2006) ----------------------------------- * Now checking whether the first argument to getObjectInstance in DefaultDirObjectFactory is a Context, and if so, closing it properly. * Fixed reference to non-existent ContextSourceImpl in ldaptemplate-person. * Upgraded Spring to 2.0-m4. * Upgraded DDSteps to 1.1-rc1 and EasyMock to 1.2. Changes in version 1.0 (24.4.2006) ---------------------------------- * Introduced the AuthenticationSource interface to enable other strategies for retrieving principal and credentials than a hard-coded username/password. * Added the AcegiAuthenticationSource implementation for retrieving a previously authenticated principal and credentials using Acegi. * Added a 'cacheEnvironmentProperties' property that enables the user to choose whether to cache the environment HashMap or to re-create it each time a new Context is created. * Added an ignorePartialResultException to LdapTemplate which causes all PartialResultExceptions to be ignored during searches, for use when working against Active Directory, which cannot handle referrals correctly. * Added search methods in LdapOperations (and LdapTemplate) that take a parameter for SearchControls. * The methods getNamesOfModifiedAttributes, update, and getAttributeSortedStringSet in DirContextOperations (and DirContextAdapter) no longer throw NamingException. Instead, they throw unchecked DataAccessExceptions. * The method getModificationItems in AttributeModificationsAware no longer throws NamingException. Instead, it throws unchecked DataAccessExceptions. * Removed the (unused) 'task' parameter to NamingExceptionTranslator.translate. * Removed the deprecated ContextSourceImpl class. * Integration tests now run using an in-memory version of Apache Directory Server, rather than requiring a working installation of a directory server. * Integration tests now run together with pure unit tests under the 'tests' Ant target. * The ldaptemplate-person sample web application now uses an in-memory version of Apache Directory Server, rather than requiring a working installation of a directory server. * Upgraded Spring to 2.0-m3. * The build now uses Ivy 1.3.1. Changes in version 1.0-RC2 (22.2.2006) -------------------------------------- * LdapV2 is now supported. ContextSourceImpl has been deprecated. In stead the new LdapContextSource should be used for LdapV3 and a DirContextSource has been added for LdapV2 compatibility. * Ability has been added in LdapContextSource and DirContextSource to specify that an authenticated context should be used for read-only operations as well. Use property 'authenticatedReadOnly' in LdapContextSource/DirContextSource. * The Filter classes have been cleaned up. * DirContextAdapter has been cleaned up. Most important to note is that in this operation the 'setStringAttribute/setStringAttributes' methods have been removed and replaced by 'setAttributeValue/setAttributeValues'. * Base DNs are now correctly URL encoded when building the connection String. This means that spaces and other 'unsafe' characters in base DNs should no longer be manually URL encoded. * An AttributesIntegrityViolationException has been added and is thrown when an InvalidAttributesException is encountered. * More unit tests have been added. Changes in version 1.0-RC1 (27.1.2006) -------------------------------------- * First public release candidate.
A bug fix release 1.0.2 of LdapTemplate is now available for download. You will be pleased to know that getModificationItems now handles multi-value attributes correctly. New features are 'rename' and 'recursive unbind'. See the changelog at http://sourceforge.net/project/shownotes.php?release_id=427978&group_id=157283 for a full list of modifications.
Be the first person to add a text review.
Copyright © 2009 Geeknet, Inc. All rights reserved. Terms of Use
Thanks for your rating!
Would you also like to write a review?