public interface UserDetailsService
It is used throughout the framework as a user DAO and is the strategy used by the
The interface requires only one read-only method, which simplifies support for new data-access strategies.
UserDetails loadUserByUsername(String username) throws UsernameNotFoundException
UserDetailsobject 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.
UsernameNotFoundException- if the user could not be found or the user has no GrantedAuthority