Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

[Duda] UserDetails

@Table(name="usuarios")
@Entity(name = "usuario")
@Getter
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(of = "id")
public class Usuario implements UserDetails {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String login;
    private String clave;


    @Override
    public Collection<? extends GrantedAuthority> getAuthorities() {
        return List.of();
    }

    @Override
    public String getPassword() {
        return "";
    }

    @Override
    public String getUsername() {
        return "";
    }

    @Override
    public boolean isAccountNonExpired() {
        return UserDetails.super.isAccountNonExpired();
    }

    @Override
    public boolean isAccountNonLocked() {
        return UserDetails.super.isAccountNonLocked();
    }

    @Override
    public boolean isCredentialsNonExpired() {
        return UserDetails.super.isCredentialsNonExpired();
    }

    @Override
    public boolean isEnabled() {
        return UserDetails.super.isEnabled();
    }
}

Al implementar UserDetails e implementar los metodos me aparece diferente al maestro y no se donde indico los return a true o false como en el ejemplo?

1 respuesta
solución!

¡Hola Emanuel, espero que estés bien!

Entiendo tu duda. Parece que estás teniendo problemas para implementar correctamente los métodos de la interfaz UserDetails en tu clase Usuario.

Para indicar los retornos true o false en los métodos de UserDetails, debes tener en cuenta la lógica de tu aplicación. Por ejemplo, en el método isAccountNonExpired() podrías retornar true si la cuenta del usuario no ha expirado, y false si ha expirado.

De manera similar, en el método isEnabled() podrías retornar true si el usuario está habilitado, y false si está deshabilitado.

Aquí tienes un ejemplo de cómo podrías implementar estos métodos teniendo en cuenta la lógica de tu aplicación:

@Override
public boolean isAccountNonExpired() {
    // Lógica para determinar si la cuenta ha expirado
    return true; // o false, dependiendo de la lógica de tu aplicación
}

@Override
public boolean isEnabled() {
    // Lógica para determinar si el usuario está habilitado
    return true; // o false, dependiendo de la lógica de tu aplicación
}

Recuerda que la implementación de estos métodos debe adaptarse a las necesidades específicas de tu aplicación y cómo quieres manejar la autenticación de los usuarios.

Espero que esta información te sea de ayuda. Si necesitas más orientación, no dudes en preguntar en el foro.

¡Espero haber ayudado y buenos estudios!