UserDetails
UserDetails is returned by the UserDetailsService.
The DaoAuthenticationProvider validates the UserDetails and then returns an Authentication that has a principal that is the UserDetails returned by the configured UserDetailsService.