public class

LdapUserDetailsMapper

extends Object
implements UserDetailsContextMapper
java.lang.Object
   ↳ org.springframework.security.ldap.userdetails.LdapUserDetailsMapper

Class Overview

The context mapper used by the LDAP authentication provider to create an LDAP user object.

Summary

Public Constructors
LdapUserDetailsMapper()
Public Methods
UserDetails mapUserFromContext(DirContextOperations ctx, String username, Collection<? extends GrantedAuthority> authorities)
Creates a fully populated UserDetails object for use by the security framework.
void mapUserToContext(UserDetails user, DirContextAdapter ctx)
Reverse of the above operation.
void setConvertToUpperCase(boolean convertToUpperCase)
Determines whether role field values will be converted to upper case when loaded.
void setPasswordAttributeName(String passwordAttributeName)
The name of the attribute which contains the user's password.
void setRoleAttributes(String[] roleAttributes)
The names of any attributes in the user's entry which represent application roles.
void setRolePrefix(String rolePrefix)
The prefix that should be applied to the role names
Protected Methods
GrantedAuthority createAuthority(Object role)
Creates a GrantedAuthority from a role attribute.
String mapPassword(Object passwordValue)
Extension point to allow customized creation of the user's password from the attribute stored in the directory.
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.springframework.security.ldap.userdetails.UserDetailsContextMapper

Public Constructors

public LdapUserDetailsMapper ()

Public Methods

public UserDetails mapUserFromContext (DirContextOperations ctx, String username, Collection<? extends GrantedAuthority> authorities)

Creates a fully populated UserDetails object for use by the security framework.

Parameters
ctx the context object which contains the user information.
username the user's supplied login name.
Returns
  • the user object.

public void mapUserToContext (UserDetails user, DirContextAdapter ctx)

Reverse of the above operation. Populates a context object from the supplied user object. Called when saving a user, for example.

public void setConvertToUpperCase (boolean convertToUpperCase)

Determines whether role field values will be converted to upper case when loaded. The default is true.

Parameters
convertToUpperCase true if the roles should be converted to upper case.

public void setPasswordAttributeName (String passwordAttributeName)

The name of the attribute which contains the user's password. Defaults to "userPassword".

Parameters
passwordAttributeName the name of the attribute

public void setRoleAttributes (String[] roleAttributes)

The names of any attributes in the user's entry which represent application roles. These will be converted to GrantedAuthoritys and added to the list in the returned LdapUserDetails object. The attribute values must be Strings by default.

Parameters
roleAttributes the names of the role attributes.

public void setRolePrefix (String rolePrefix)

The prefix that should be applied to the role names

Parameters
rolePrefix the prefix (defaults to "ROLE_").

Protected Methods

protected GrantedAuthority createAuthority (Object role)

Creates a GrantedAuthority from a role attribute. Override to customize authority object creation.

The default implementation converts string attributes to roles, making use of the rolePrefix and convertToUpperCase properties. Non-String attributes are ignored.

Parameters
role the attribute returned from
Returns
  • the authority to be added to the list of authorities for the user, or null if this attribute should be ignored.

protected String mapPassword (Object passwordValue)

Extension point to allow customized creation of the user's password from the attribute stored in the directory.

Parameters
passwordValue the value of the password attribute
Returns
  • a String representation of the password.