Interface UserDetailsService

All Known Subinterfaces:
All Known Implementing Classes:
CachingUserDetailsService, InMemoryDaoImpl, JdbcDaoImpl, JdbcUserDetailsManager, LdapUserDetailsManager, LdapUserDetailsService, UserDetailsServiceWrapper

public interface UserDetailsService

Core interface which loads user-specific data.

It is used throughout the framework as a user DAO and is the strategy used by the DaoAuthenticationProvider.

The interface requires only one read-only method, which simplifies support for new data-access strategies.

See Also:
DaoAuthenticationProvider, UserDetails

Method Summary
 UserDetails loadUserByUsername(String username)
          Locates the user based on the username.

Method Detail


UserDetails loadUserByUsername(String username)
                               throws UsernameNotFoundException,
Locates the user based on the username. In the actual implementation, the search may possibly be case insensitive, or case insensitive depending on how the implementation instance is configured. In this case, the UserDetails object that comes back may have a username that is of a different case than what was actually requested..

username - the username identifying the user whose data is required.
a fully populated user record (never null)
UsernameNotFoundException - if the user could not be found or the user has no GrantedAuthority
DataAccessException - if user could not be found for a repository-specific reason