Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Logar com outros campos

No nosso caso, definimos que o username é o email.

Mas e se em uma aplicação (como o Twitter) você pode logar via e-mail ou outro campo (vamos chamar de apelido aqui), como que faria? Seria desta forma? (Lembrando que eu criaria o método no UsuarioRepository.

    @Override
    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException
    {
        Optional<Usuario> usuario = repository.findByEmailOrApelido(username);
        if (usuario.isPresent())
        {
            return usuario.get();
        }
        throw new UsernameNotFoundException("Dados inválidos!");
    }
1 resposta
solução!

Oi Arthur,

Para alterar o campo de pesquisa, personalizando a querie de consulta no banco de dados, é dessa maneira que você mostrou mesmo, no próprio método loadUserByUsername.

Mas se sua autenticação precisa verificar vários outros campos e funcionar diferente desse padrão do Spring, então você vai ter que sobrescrever o controller de autenticação do Spring e implementar "manualmente" o seu mecanismo de autenticação.

Bons estudos!