org.springframework.security.ldap.authentication
Class PasswordComparisonAuthenticator

java.lang.Object
  extended by org.springframework.security.ldap.authentication.AbstractLdapAuthenticator
      extended by org.springframework.security.ldap.authentication.PasswordComparisonAuthenticator
All Implemented Interfaces:
InitializingBean, MessageSourceAware, LdapAuthenticator

public final class PasswordComparisonAuthenticator
extends AbstractLdapAuthenticator

An LdapAuthenticator which compares the login password with the value stored in the directory using a remote LDAP "compare" operation.

If passwords are stored in digest form in the repository, then a suitable PasswordEncoder implementation must be supplied. By default, passwords are encoded using the LdapShaPasswordEncoder. Note that compare operations will not work if salted-SHA (SSHA) passwords are used, as it is not possible to know the salt value which is a random byte sequence generated by the directory.


Field Summary
 
Fields inherited from class org.springframework.security.ldap.authentication.AbstractLdapAuthenticator
messages
 
Constructor Summary
PasswordComparisonAuthenticator(BaseLdapPathContextSource contextSource)
           
 
Method Summary
 DirContextOperations authenticate(Authentication authentication)
          Authenticates as a user and obtains additional user information from the directory.
 void setPasswordAttributeName(String passwordAttribute)
           
 void setPasswordEncoder(PasswordEncoder passwordEncoder)
           
 
Methods inherited from class org.springframework.security.ldap.authentication.AbstractLdapAuthenticator
afterPropertiesSet, getContextSource, getUserAttributes, getUserDns, getUserSearch, setMessageSource, setUserAttributes, setUserDnPatterns, setUserSearch
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PasswordComparisonAuthenticator

public PasswordComparisonAuthenticator(BaseLdapPathContextSource contextSource)
Method Detail

authenticate

public DirContextOperations authenticate(Authentication authentication)
Description copied from interface: LdapAuthenticator
Authenticates as a user and obtains additional user information from the directory.

Returns:
the details of the successfully authenticated user.

setPasswordAttributeName

public void setPasswordAttributeName(String passwordAttribute)

setPasswordEncoder

public void setPasswordEncoder(PasswordEncoder passwordEncoder)