Quando digito, no formulário, o usuário:maria@email.com e a senha:Maria123 a parece a mensagem: Usuário inexistente ou senha inválida. O que pode estar acontecendo?
Quando digito, no formulário, o usuário:maria@email.com e a senha:Maria123 a parece a mensagem: Usuário inexistente ou senha inválida. O que pode estar acontecendo?
Isso pode estar acontecendo por alguns motivos.
Usuário está cadastrado? Verifique no banco de dados se o e-mail maria@email.com realmente foi cadastrado.
Senha criptografada corretamente? Se estiver usando o BCrypt, a senha no banco de dados deve estar armazenada de forma criptografada. Exemplo de como criptografar antes de salvar:
BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
String senhaCriptografada = encoder.encode("Maria123");
Se a senha não foi criptografada antes de ser salva, a autenticação falhará.
Comparação da senha correta? Ao autenticar, utilize:
if (encoder.matches("Maria123", usuario.getSenha())) {
// Senha válida
} else {
// Senha inválida
}
Se estiver comparando diretamente a string "Maria123"
com a senha no banco, a verificação falhará.
Spring Security configurado corretamente? Se estiver usando um UserDetailsService
, verifique se ele está retornando o usuário corretamente.
Se o problema continuar, pode compartilhar o código do login e da autenticação?