org.kuali.student.security.kim
Class KimAuthenticationProvider

java.lang.Object
  extended by org.springframework.security.providers.dao.AbstractUserDetailsAuthenticationProvider
      extended by org.kuali.student.security.kim.KimAuthenticationProvider
All Implemented Interfaces:
InitializingBean, MessageSourceAware, AuthenticationProvider

public class KimAuthenticationProvider
extends AbstractUserDetailsAuthenticationProvider

An AuthenticationProvider implementation that retrieves user details from an UserDetailsService. Slightly modified from DaoAuthenticationProvider

Author:
Kuali Student Team

Field Summary
private  boolean includeDetailsObject
           
private  PasswordEncoder passwordEncoder
           
private  SaltSource saltSource
           
private  UserDetailsService userDetailsService
           
 
Fields inherited from class org.springframework.security.providers.dao.AbstractUserDetailsAuthenticationProvider
hideUserNotFoundExceptions, messages
 
Constructor Summary
KimAuthenticationProvider()
           
 
Method Summary
protected  void additionalAuthenticationChecks(UserDetails userDetails, UsernamePasswordAuthenticationToken authentication)
           
protected  void doAfterPropertiesSet()
           
protected  PasswordEncoder getPasswordEncoder()
           
protected  SaltSource getSaltSource()
           
protected  UserDetailsService getUserDetailsService()
           
protected  boolean isIncludeDetailsObject()
           
protected  UserDetails retrieveUser(String username, UsernamePasswordAuthenticationToken authentication)
           
 void setPasswordEncoder(PasswordEncoder passwordEncoder)
          Sets the PasswordEncoder instance to be used to encode and validate passwords.
 void setSaltSource(SaltSource saltSource)
          The source of salts to use when decoding passwords.
 void setUserDetailsService(UserDetailsService userDetailsService)
           
 
Methods inherited from class org.springframework.security.providers.dao.AbstractUserDetailsAuthenticationProvider
afterPropertiesSet, authenticate, createSuccessAuthentication, getPostAuthenticationChecks, getPreAuthenticationChecks, getUserCache, isForcePrincipalAsString, isHideUserNotFoundExceptions, setForcePrincipalAsString, setHideUserNotFoundExceptions, setMessageSource, setPostAuthenticationChecks, setPreAuthenticationChecks, setUserCache, supports
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

passwordEncoder

private PasswordEncoder passwordEncoder

saltSource

private SaltSource saltSource

userDetailsService

private UserDetailsService userDetailsService

includeDetailsObject

private boolean includeDetailsObject
Constructor Detail

KimAuthenticationProvider

public KimAuthenticationProvider()
Method Detail

additionalAuthenticationChecks

protected void additionalAuthenticationChecks(UserDetails userDetails,
                                              UsernamePasswordAuthenticationToken authentication)
                                       throws AuthenticationException
Specified by:
additionalAuthenticationChecks in class AbstractUserDetailsAuthenticationProvider
Throws:
AuthenticationException

doAfterPropertiesSet

protected void doAfterPropertiesSet()
                             throws Exception
Overrides:
doAfterPropertiesSet in class AbstractUserDetailsAuthenticationProvider
Throws:
Exception

retrieveUser

protected final UserDetails retrieveUser(String username,
                                         UsernamePasswordAuthenticationToken authentication)
                                  throws AuthenticationException
Specified by:
retrieveUser in class AbstractUserDetailsAuthenticationProvider
Throws:
AuthenticationException

setPasswordEncoder

public void setPasswordEncoder(PasswordEncoder passwordEncoder)
Sets the PasswordEncoder instance to be used to encode and validate passwords. If not set, PlaintextPasswordEncoder will be used by default.

Parameters:
passwordEncoder - The passwordEncoder to use

getPasswordEncoder

protected PasswordEncoder getPasswordEncoder()

setSaltSource

public void setSaltSource(SaltSource saltSource)
The source of salts to use when decoding passwords. null is a valid value, meaning the DaoAuthenticationProvider will present null to the relevant PasswordEncoder.

Parameters:
saltSource - to use when attempting to decode passwords via the PasswordEncoder

getSaltSource

protected SaltSource getSaltSource()

setUserDetailsService

public void setUserDetailsService(UserDetailsService userDetailsService)

getUserDetailsService

protected UserDetailsService getUserDetailsService()

isIncludeDetailsObject

protected boolean isIncludeDetailsObject()


Copyright © 2004-2011 The Kuali Foundation. All Rights Reserved.