public class LdapUserDetailsMapper extends Object implements UserDetailsContextMapper
Constructor and Description |
---|
LdapUserDetailsMapper() |
Modifier and Type | Method and Description |
---|---|
protected GrantedAuthority |
createAuthority(Object role)
Creates a GrantedAuthority from a role attribute.
|
protected String |
mapPassword(Object passwordValue)
Extension point to allow customized creation of the user's password from
the attribute stored in the directory.
|
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
|
public UserDetails mapUserFromContext(DirContextOperations ctx, String username, Collection<? extends GrantedAuthority> authorities)
UserDetailsContextMapper
mapUserFromContext
in interface UserDetailsContextMapper
ctx
- the context object which contains the user information.username
- the user's supplied login name.public void mapUserToContext(UserDetails user, DirContextAdapter ctx)
UserDetailsContextMapper
mapUserToContext
in interface UserDetailsContextMapper
protected String mapPassword(Object passwordValue)
passwordValue
- the value of the password attributeprotected GrantedAuthority createAuthority(Object role)
The default implementation converts string attributes to roles, making use of the rolePrefix and convertToUpperCase properties. Non-String attributes are ignored.
role
- the attribute returned frompublic void setConvertToUpperCase(boolean convertToUpperCase)
convertToUpperCase
- true if the roles should be converted to upper case.public void setPasswordAttributeName(String passwordAttributeName)
passwordAttributeName
- the name of the attributepublic void setRoleAttributes(String[] roleAttributes)
roleAttributes
- the names of the role attributes.public void setRolePrefix(String rolePrefix)
rolePrefix
- the prefix (defaults to "ROLE_").