public class

SpringSecurityLdapTemplate

extends LdapTemplate
java.lang.Object
   ↳ LdapTemplate
     ↳ org.springframework.security.ldap.SpringSecurityLdapTemplate

Class Overview

Extension of Spring LDAP's LdapTemplate class which adds extra functionality required by Spring Security.

Summary

Fields
public static final String[] NO_ATTRS
Public Constructors
SpringSecurityLdapTemplate(ContextSource contextSource)
Public Methods
boolean compare(String dn, String attributeName, Object value)
Performs an LDAP compare operation of the value of an attribute for a particular directory entry.
DirContextOperations retrieveEntry(String dn, String[] attributesToRetrieve)
Composes an object from the attributes of the given DN.
Set<String> searchForSingleAttributeValues(String base, String filter, Object[] params, String attributeName)
Performs a search using the supplied filter and returns the union of the values of the named attribute found in all entries matched by the search.
DirContextOperations searchForSingleEntry(String base, String filter, Object[] params)
Performs a search, with the requirement that the search shall return a single directory entry, and uses the supplied mapper to create the object from that entry.
static DirContextOperations searchForSingleEntryInternal(DirContext ctx, SearchControls searchControls, String base, String filter, Object[] params)
Internal method extracted to avoid code duplication in AD search.
void setSearchControls(SearchControls searchControls)
Sets the search controls which will be used for search operations by the template.
[Expand]
Inherited Methods
From class java.lang.Object

Fields

public static final String[] NO_ATTRS

Public Constructors

public SpringSecurityLdapTemplate (ContextSource contextSource)

Public Methods

public boolean compare (String dn, String attributeName, Object value)

Performs an LDAP compare operation of the value of an attribute for a particular directory entry.

Parameters
dn the entry who's attribute is to be used
attributeName the attribute who's value we want to compare
value the value to be checked against the directory value
Returns
  • true if the supplied value matches that in the directory

public DirContextOperations retrieveEntry (String dn, String[] attributesToRetrieve)

Composes an object from the attributes of the given DN.

Parameters
dn the directory entry which will be read
attributesToRetrieve the named attributes which will be retrieved from the directory entry.
Returns
  • the object created by the mapper

public Set<String> searchForSingleAttributeValues (String base, String filter, Object[] params, String attributeName)

Performs a search using the supplied filter and returns the union of the values of the named attribute found in all entries matched by the search. Note that one directory entry may have several values for the attribute. Intended for role searches and similar scenarios.

Parameters
base the DN to search in
filter search filter to use
params the parameters to substitute in the search filter
attributeName the attribute who's values are to be retrieved.
Returns
  • the set of String values for the attribute as a union of the values found in all the matching entries.

public DirContextOperations searchForSingleEntry (String base, String filter, Object[] params)

Performs a search, with the requirement that the search shall return a single directory entry, and uses the supplied mapper to create the object from that entry.

Ignores PartialResultException if thrown, for compatibility with Active Directory (see LdapTemplate#setIgnorePartialResultException(boolean)).

Parameters
base the search base, relative to the base context supplied by the context source.
filter the LDAP search filter
params parameters to be substituted in the search.
Returns
  • a DirContextOperations instance created from the matching entry.
Throws
IncorrectResultSizeDataAccessException if no results are found or the search returns more than one result.

public static DirContextOperations searchForSingleEntryInternal (DirContext ctx, SearchControls searchControls, String base, String filter, Object[] params)

Internal method extracted to avoid code duplication in AD search.

public void setSearchControls (SearchControls searchControls)

Sets the search controls which will be used for search operations by the template.

Parameters
searchControls the SearchControls instance which will be cached in the template.