public class LdapUserDetailsMapper extends java.lang.Object implements UserDetailsContextMapper
Constructor and Description |
---|
LdapUserDetailsMapper() |
Modifier and Type | Method and Description |
---|---|
protected GrantedAuthority |
createAuthority(java.lang.Object role)
Creates a GrantedAuthority from a role attribute.
|
protected java.lang.String |
mapPassword(java.lang.Object passwordValue)
Extension point to allow customized creation of the user's password from the
attribute stored in the directory.
|
UserDetails |
mapUserFromContext(org.springframework.ldap.core.DirContextOperations ctx,
java.lang.String username,
java.util.Collection<? extends GrantedAuthority> authorities)
Creates a fully populated UserDetails object for use by the security framework.
|
void |
mapUserToContext(UserDetails user,
org.springframework.ldap.core.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(java.lang.String passwordAttributeName)
The name of the attribute which contains the user's password.
|
void |
setRoleAttributes(java.lang.String[] roleAttributes)
The names of any attributes in the user's entry which represent application roles.
|
void |
setRolePrefix(java.lang.String rolePrefix)
The prefix that should be applied to the role names
|
public UserDetails mapUserFromContext(org.springframework.ldap.core.DirContextOperations ctx, java.lang.String username, java.util.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, org.springframework.ldap.core.DirContextAdapter ctx)
UserDetailsContextMapper
mapUserToContext
in interface UserDetailsContextMapper
protected java.lang.String mapPassword(java.lang.Object passwordValue)
passwordValue
- the value of the password attributeprotected GrantedAuthority createAuthority(java.lang.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(java.lang.String passwordAttributeName)
passwordAttributeName
- the name of the attributepublic void setRoleAttributes(java.lang.String[] roleAttributes)
roleAttributes
- the names of the role attributes.public void setRolePrefix(java.lang.String rolePrefix)
rolePrefix
- the prefix (defaults to "ROLE_").