Ulrik Sandberg

Alumni
Blog posts by Ulrik Sandberg

Spring LDAP 1.3.1 released

Releases | November 30, 2010 | ...

Dear Spring Community,

We are pleased to announce that Spring LDAP version 1.3.1 has been released. This is an update release that adds a new LDIF parsing library, an Object-Directory Mapping (ODM) framework, and fixes a few problems that were in 1.3.0. Download | ChangeLog

A summary of the more important changes:

  • Added an Object-Directory Mapping (ODM) framework for annotation-based mapping between LDAP and Java objects; much like Hibernate or JPA, but for LDAP. Thanks to Paul Harvey for this contribution. (Docs)
  • Added an LDIF parsing library with an optional integration with Spring Batch. Thanks to Keith Barlow for this contribution. (Docs)
  • Added an extension to ContextMapperCallbackHandler that can provide the associated mapper with an indication that the response is different for each search result. (LDAP-185)
  • DIGEST-MD5 SASL authentication mechanism is now supported. Contributed by Marvin S. Addison. (LDAP-173)
  • AbstractTlsDirContextAuthenticationStrategy now provides a setter for customizing SSLSocketFactory used for TLS negotiation. (LDAP-180)
  • Added authentication methods that provide a possible authentication exception through an AuthenticationErrorCallback. (LDAP-192)

Get the latest Spring LDAP releases here

Ulrik Sandberg and Mattias Hellborg-Arthursson, Jayway
Spring LDAP Team

About

Spring LDAP is a Java library for simplifying LDAP operations, based on the pattern of Spring's JdbcTemplate. The framework relieves the user of common chores, such as looking up and closing contexts, looping through results, encoding/decoding values and filters, and more.

The LdapTemplate class encapsulates all the plumbing work involved in traditional LDAP programming, such as creating a DirContext, looping through NamingEnumerations, handling exceptions and cleaning up resources. This leaves the programmer to handle the important stuff - where to find data (DNs and Filters) and what do do with it (map to and from domain objects, bind, modify, unbind, etc.), in the same way that JdbcTemplate relieves the programmer of all but the actual SQL and how the data maps to the domain model.

In addition to this, Spring LDAP provides transaction support, a pooling library, an Object-Directory Mapping (ODM) framework, an LDIF parsing library with Spring Batch integration, exception translation from NamingExceptions to a mirrored unchecked Exception hierarchy, as well as several utilities for working with filters, LDAP paths and Attributes.

Spring LDAP requires J2SE 1.4 or higher to run, and works with Spring Framework 2.0.x, 2.5.x as well as 3.0.x. J2SE 1.4 or higher is required for building the release binaries from sources. For release 1.2.1, an installation of JavaCC 4.0 is also required when building from source. That is not necessary for release 1.3.x, since it uses Maven2, which handles all such dependencies behind the scenes.

Where to start

Download the distribution from the link above. The distribution contains extensive JavaDoc documentation as well as full reference documentation and a sample application illustrating different ways to use Spring LDAP.

Support

Support is available on the Spring LDAP support forum
Bug reports, enhancement requests and patches should be submitted to the JIRA issue tracker

Sources

Sources are available in the Spring Framework Subversion repository:
http://src.springframework.org/svn/spring-ldap/trunk (latest sources)
http://src.springframework.org/svn/spring-ldap/tags/spring-ldap-1.3.1.RELEASE (1.3.1 sources)

Maven Users

Artifacts for all production releases will be available from the central Maven repository. Alternatively, you can specify the SpringSource release repository:

<repositories>
    <repository>
        <id>spring-release</id>
        <url>http://maven.springframework.org/release</url>
    </repository>
</repositories>

The dependencies in 1.3.1.RELEASE are:

<dependency>
    <groupId>org.springframework.ldap</groupId>
    <artifactId>spring-ldap-core</artifactId>
    <version>1.3.1.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework.ldap</groupId>
    <artifactId>spring-ldap-core-tiger</artifactId>
    <version>1.3.1.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework.ldap</groupId>
    <artifactId>spring-ldap-odm</artifactId>
    <version>1.3.1.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework.ldap</groupId>
    <artifactId>spring-ldap-ldif-core</artifactId>
    <version>1.3.1.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework.ldap</groupId>
    <artifactId>spring-ldap-ldif-batch</artifactId>
    <version>1.3.1.RELEASE</version>
</dependency>

Release candidates and milestones are available from the Spring Source milestone repository:

<repositories>
    <repository>
        <id>spring-milestone</id>
        <url>http://maven.springframework.org/milestone</url>
    </repository>
</repositories>

Nightly snapshots are available from the Spring Source snapshot repository:

<repositories>
    <repository>
        <id>spring-snapshot</id>
        <url>http://maven.springframework.org/snapshot</url>
    </repository>
</repositories>

The dependencies for 1.3.2.CI-SNAPSHOT are:
<dependency>
    <groupId>org.springframework.ldap</groupId>
    <artifactId>spring-ldap-core</artifactId>
    <version>1.3.2.CI-SNAPSHOT</version>
</dependency>
<dependency>
    <groupId>org.springframework.ldap</groupId>
    <artifactId>spring-ldap-core-tiger</artifactId>
    <version>1.3.2.CI-SNAPSHOT</version>
</dependency>
<dependency>
    <groupId>org.springframework.ldap</groupId>
    <artifactId>spring-ldap-odm</artifactId>
    <version>1.3.2.CI-SNAPSHOT</version>
</dependency>
<dependency>
    <groupId>org.springframework.ldap</groupId>
    <artifactId>spring-ldap-ldif-core</artifactId>
    <version>1.3.2.CI-SNAPSHOT</version>
</dependency>
<dependency>
    <groupId>org.springframework.ldap</groupId>
    <artifactId>spring-ldap-ldif-batch</artifactId>
    <version>1.3.2.CI-SNAPSHOT</version>
</dependency>

Spring LDAP 1.2.1 released

Releases | December 08, 2007 | ...

Dear Spring Community,

We are pleased to announce that Spring LDAP version 1.2.1 has been released. This is an update release that adds a new pooling library and fixes a few problems that were in 1.2. Download | ChangeLog

A summary of the more important changes:

  • Added pooling library which features flexible connection validation and better configuration than the built-in pooling. Many thanks to Eric Dalquist for this contribution. (LDAP-85)
  • Fixed a problem in AbstractContextSource which led to an unnecessary reference to the LDAP Booster Pack (ldapbp). (LDAP-88, LDAP-89)
  • Fixed bug in SimpleLdapTemplate where the wrong target method was being called. (LDAP-93)
  • Made createContext in AbstractContextSource protected rather than package private. (LDAP-94)

About Spring LDAP
Spring LDAP is a Java library for simplifying LDAP operations, based on the pattern of Spring's JdbcTemplate. The framework relieves the user of the burden of looking up and closing contexts, looping through results, encoding/decoding values and filters, and more.

The LdapTemplate class encapsulates all the plumbing work involved in traditional LDAP programming, such as creating a DirContext, looping through NamingEnumerations, handling Exceptions and cleaning up resources. This leaves the programmer to handle the important stuff - where to find data (DNs and Filters) and what do do with it (map to and from domain objects, bind, modify, unbind, etc.), in the same way that JdbcTemplate relieves the programmer of all but the actual SQL and how the data maps to the domain model.

In addition to this, Spring LDAP provides transaction support, a pooling library, exception translation from NamingExceptions to a mirrored unchecked NamingException hierarchy, as well as several utilities for working with filters, LDAP paths and Attributes.

Spring-LDAP requires J2SE 1.4. J2SE 1.4 is required for building. J2EE 1.4 (Servlet 2.3, JSP 1.2) is required for running the example.

Where to start
Download the distribution from the link above. The distribution contains extensive JavaDoc documentation as well as full reference documentation and a sample application illustrating different ways to use Spring LDAP.

Home
The permanent home of Spring LDAP is at http://www.springframework.org/ldap.

History
Spring LDAP is based on the SourceForge LdapTemplate project. Users of LdapTemplate are advised to switch to Spring LDAP.

Mattias Arthursson & Ulrik Sandberg
Spring LDAP Project Team

Spring LDAP 1.2 RC1 released

Releases | May 13, 2007 | ...

Dear Spring community,

We are pleased to announce the first release candidate of Spring LDAP 1.2, with a number of features and bug fixes. Only the most important are listed here. For a complete listing, please see the changelog. The release is available for download here.

  • Implemented client-side transaction support for Spring LDAP. See reference documentation for further information (LDAP-29).
  • Changed the exception hierarchy to be an unchecked mirror of the JNDI NamingException hierarchy (LDAP-4).
  • Exceptions thrown by Spring LDAP are now always Serializable, regardless of whether the wrapped NamingException is (which is not always the case) (LDAP-14).
  • Rewrote LdapEncoder.nameDecode() to solve problem with national characters and remove regular expression used in parsing, drastically improving Distinguished Name parsing performance as a bonus (LDAP-30).
  • Upgraded to Spring 2.0.4 internally. Spring 1.2.x is still supported (LDAP-35, LDAP-51).

Note that a number of API-breaking changes have been made in this release, mainly package restructuring stuff. Consequently, this is NOT a drop-in replacement for Spring LDAP 1.1.2, though upgrading should not present all that much work. Please see the supplied upgrade guide for details.

The Spring LDAP Team

Spring LDAP 1.1.1 Released

Releases | November 18, 2006 | ...

Dear Spring Community,

We are pleased to announce that Spring LDAP version 1.1.1 has been released. This is an update release that adds several new features and fixes a few problems that were in 1.1. Download | ChangeLog | Documentation | API

A summary of the more important changes:

  • Added capability to use server-side controls in search.
  • DirContextAdapter.getNameInNamespace() now returns the full DN.
  • DistinguishedName now supports multi-valued RDNs separated by a '+' sign, like "cn=Rod+sn=Johnson", for example.
  • Added lookup methods that take an array of return attribute names.
  • Upgraded Spring to 2.0 internally. Spring 1.2.8 is still supported.

About Spring LDAP
Spring LDAP is a Java library for simplifying LDAP operations, based on the pattern of Spring's JdbcTemplate. The framework relieves the user of the burden of looking up and closing contexts, looping through NamingEnumerations, encoding/decoding values and filters, and more.

The LdapTemplate class encapsulates all the plumbing work involved in traditional LDAP programming, such as creating, looping through NamingEnumerations, handling Exceptions and cleaning up resources. This leaves the programmer to handle the important stuff - where to find data (DNs and Filters) and what do do with it (map to and from domain objects, bind, modify, unbind, etc.), in the same way that JdbcTemplate relieves the programmer of all but the actual SQL and how the data maps to the domain model.

In addition to this, Spring LDAP provides Exception translation from NamingExceptions to DataAccessExceptions, as well as several utilities for working with filters, LDAP paths and Attributes.

Spring-LDAP requires J2SE 1.4. J2SE 1.4 is required for building. J2EE 1.4 (Servlet 2.3, JSP 1.2) is required for running the example.

Where to start
Download the distribution from the link above. The distribution contains extensive JavaDoc documentation as well as full reference documentation and a sample application illustrating different ways to use Spring LDAP.

Home
The permanent home of Spring LDAP is at http://www.springframework.org/ldap.

History
Spring LDAP is based on the SourceForge LdapTemplate project. Users of LdapTemplate are advised to switch to Spring LDAP.

Mattias Arthursson & Ulrik Sandberg
Spring LDAP Project Team

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all