org.springframework.security.core.userdetails
Interface UserDetailsService

All Known Subinterfaces:
UserDetailsManager
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.

Version:
$Id: UserDetailsService.java 3718 2009-06-14 20:50:29Z ltaylor $
Author:
Ben Alex
See Also:
DaoAuthenticationProvider, UserDetails

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

Method Detail

loadUserByUsername

UserDetails loadUserByUsername(String username)
                               throws UsernameNotFoundException,
                                      DataAccessException
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..

Parameters:
username - the username presented to the DaoAuthenticationProvider
Returns:
a fully populated user record (never null)
Throws:
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


Copyright © 2004-2009 SpringSource, Inc. All Rights Reserved.