public abstract class AbstractLdapAuthenticationProvider extends Object implements org.springframework.security.authentication.AuthenticationProvider, MessageSourceAware
LdapAuthenticationProvider
and the
ActiveDirectoryLdapAuthenticationProvider
.Modifier and Type | Field and Description |
---|---|
protected org.apache.commons.logging.Log |
logger |
protected 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 DirContextOperations |
doAuthentication(org.springframework.security.authentication.UsernamePasswordAuthenticationToken auth) |
protected UserDetailsContextMapper |
getUserDetailsContextMapper()
Provides access to the injected
UserDetailsContextMapper strategy for use by subclasses. |
protected abstract Collection<? extends org.springframework.security.core.GrantedAuthority> |
loadUserAuthorities(DirContextOperations userData,
String username,
String password) |
void |
setAuthoritiesMapper(org.springframework.security.core.authority.mapping.GrantedAuthoritiesMapper authoritiesMapper) |
void |
setMessageSource(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(Class<?> authentication) |
protected final org.apache.commons.logging.Log logger
protected 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.AuthenticationProvider
org.springframework.security.core.AuthenticationException
protected abstract DirContextOperations doAuthentication(org.springframework.security.authentication.UsernamePasswordAuthenticationToken auth)
protected abstract Collection<? extends org.springframework.security.core.GrantedAuthority> loadUserAuthorities(DirContextOperations userData, String username, 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(Class<?> authentication)
supports
in interface org.springframework.security.authentication.AuthenticationProvider
public 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(MessageSource messageSource)
setMessageSource
in interface MessageSourceAware
public 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.