Hola, Wilder, espero que estés bien
Veo que estás trabajando en la implementación de la autenticación para una API en Spring Boot. Vamos a revisar algunos puntos clave en tu código:
Clase Usuario
:
Usuario
implemente correctamente la interfaz UserDetails
. Parece que ya has sobrescrito los métodos necesarios como getPassword
, getUsername
, etc.getAuthorities
.Repositorio UsuarioRepository
:
findByLogin
parece estar bien definido. Asegúrate de que el nombre del método coincida con el nombre del campo en la base de datos para que Spring Data JPA pueda generar la consulta automáticamente.Servicio AutenticacionService
:
loadUserByUsername
, asegúrate de manejar el caso en que el usuario no sea encontrado. Puedes lanzar una excepción UsernameNotFoundException
si el resultado es null
.@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
return repository.findByLogin(username)
.orElseThrow(() -> new UsernameNotFoundException("Usuario no encontrado"));
}
Configuración de Seguridad SecurityConfigurations
:
AutenticacionService
.Si ya has revisado estos puntos y sigues teniendo problemas, verifica los logs de la aplicación para obtener más pistas sobre lo que podría estar fallando.
Espero haber ayudado y buenos estudios!