UserDetailsService uses constructor injection.