public abstract class AbstractLdapAuthenticationProvider
extends java.lang.Object
implements org.springframework.security.authentication.AuthenticationProvider, org.springframework.context.MessageSourceAware
LdapAuthenticationProvider and the
ActiveDirectoryLdapAuthenticationProvider.| Modifier and Type | Field and Description |
|---|---|
protected org.apache.commons.logging.Log |
logger |
protected org.springframework.context.support.MessageSourceAccessor |
messages |
protected UserDetailsContextMapper |
userDetailsContextMapper |
| Constructor and Description |
|---|
AbstractLdapAuthenticationProvider() |
| Modifier and Type | Method and Description |
|---|---|
org.springframework.security.core.Authentication |
authenticate(org.springframework.security.core.Authentication authentication) |
protected org.springframework.security.core.Authentication |
createSuccessfulAuthentication(org.springframework.security.authentication.UsernamePasswordAuthenticationToken authentication,
org.springframework.security.core.userdetails.UserDetails user)
Creates the final
Authentication object which will be returned from the
authenticate method. |
protected abstract org.springframework.ldap.core.DirContextOperations |
doAuthentication(org.springframework.security.authentication.UsernamePasswordAuthenticationToken auth) |
protected UserDetailsContextMapper |
getUserDetailsContextMapper()
Provides access to the injected
UserDetailsContextMapper strategy for use
by subclasses. |
protected abstract java.util.Collection<? extends org.springframework.security.core.GrantedAuthority> |
loadUserAuthorities(org.springframework.ldap.core.DirContextOperations userData,
java.lang.String username,
java.lang.String password) |
void |
setAuthoritiesMapper(org.springframework.security.core.authority.mapping.GrantedAuthoritiesMapper authoritiesMapper) |
void |
setMessageSource(org.springframework.context.MessageSource messageSource) |
void |
setUseAuthenticationRequestCredentials(boolean useAuthenticationRequestCredentials)
Determines whether the supplied password will be used as the credentials in the
successful authentication token.
|
void |
setUserDetailsContextMapper(UserDetailsContextMapper userDetailsContextMapper)
Allows a custom strategy to be used for creating the UserDetails which
will be stored as the principal in the Authentication returned by the
createSuccessfulAuthentication(org.springframework.security.authentication.UsernamePasswordAuthenticationToken, org.springframework.security.core.userdetails.UserDetails)
method. |
boolean |
supports(java.lang.Class<?> authentication) |
protected final org.apache.commons.logging.Log logger
protected org.springframework.context.support.MessageSourceAccessor messages
protected UserDetailsContextMapper userDetailsContextMapper
public org.springframework.security.core.Authentication authenticate(org.springframework.security.core.Authentication authentication)
throws org.springframework.security.core.AuthenticationException
authenticate in interface org.springframework.security.authentication.AuthenticationProviderorg.springframework.security.core.AuthenticationExceptionprotected abstract org.springframework.ldap.core.DirContextOperations doAuthentication(org.springframework.security.authentication.UsernamePasswordAuthenticationToken auth)
protected abstract java.util.Collection<? extends org.springframework.security.core.GrantedAuthority> loadUserAuthorities(org.springframework.ldap.core.DirContextOperations userData,
java.lang.String username,
java.lang.String password)
protected org.springframework.security.core.Authentication createSuccessfulAuthentication(org.springframework.security.authentication.UsernamePasswordAuthenticationToken authentication,
org.springframework.security.core.userdetails.UserDetails user)
Authentication object which will be returned from the
authenticate method.authentication - the original authentication request tokenuser - the UserDetails instance returned by the configured
UserDetailsContextMapper.public boolean supports(java.lang.Class<?> authentication)
supports in interface org.springframework.security.authentication.AuthenticationProviderpublic void setUseAuthenticationRequestCredentials(boolean useAuthenticationRequestCredentials)
UserDetailsContextMapper. Often it will not be possible to read the
password from the directory, so defaults to true.useAuthenticationRequestCredentials - public void setMessageSource(org.springframework.context.MessageSource messageSource)
setMessageSource in interface org.springframework.context.MessageSourceAwarepublic void setAuthoritiesMapper(org.springframework.security.core.authority.mapping.GrantedAuthoritiesMapper authoritiesMapper)
public void setUserDetailsContextMapper(UserDetailsContextMapper userDetailsContextMapper)
createSuccessfulAuthentication(org.springframework.security.authentication.UsernamePasswordAuthenticationToken, org.springframework.security.core.userdetails.UserDetails)
method.userDetailsContextMapper - the strategy instance. If not set, defaults to a
simple LdapUserDetailsMapper.protected UserDetailsContextMapper getUserDetailsContextMapper()
UserDetailsContextMapper strategy for use
by subclasses.