LDAP implementation of UserDetailsService based around an LdapUserSearch and an
LdapAuthoritiesPopulator. The final UserDetails object returned from
loadUserByUsername is created by the configured
Locates the user based on the username. In the actual implementation, the search
may possibly be case sensitive, 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..