mirror of
https://git.imnavajas.es/jjimenez/erp-imprimelibros.git
synced 2026-01-13 08:58:48 +00:00
implementado el soft-delete
This commit is contained in:
@ -4,10 +4,7 @@ import org.springframework.security.core.GrantedAuthority;
|
||||
import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
||||
import org.springframework.security.core.userdetails.UserDetails;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Adaptador de la entidad User a Spring Security.
|
||||
@ -15,21 +12,22 @@ import java.util.stream.Collectors;
|
||||
public class UserDetailsImpl implements UserDetails {
|
||||
|
||||
private final User user;
|
||||
private final java.util.Collection<? extends GrantedAuthority> authorities;
|
||||
|
||||
public UserDetailsImpl(User user) {
|
||||
this.user = user;
|
||||
this.authorities = user.getRoles().stream()
|
||||
.map(Role::getName)
|
||||
.filter(java.util.Objects::nonNull)
|
||||
.map(String::trim)
|
||||
.map(String::toUpperCase)
|
||||
.map(name -> new SimpleGrantedAuthority("ROLE_" + name))
|
||||
.toList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<? extends GrantedAuthority> getAuthorities() {
|
||||
// Si tu User tiene un Set<Role>:
|
||||
Set<String> roles = user.getRoles().stream()
|
||||
.map(r -> r.getName()) // ejemplo: "ADMIN", "USER"
|
||||
.collect(Collectors.toSet());
|
||||
|
||||
return roles.stream()
|
||||
.map(role -> new SimpleGrantedAuthority("ROLE_" + role))
|
||||
.collect(Collectors.toSet());
|
||||
public java.util.Collection<? extends GrantedAuthority> getAuthorities() {
|
||||
return authorities; // no volvemos a tocar user.getRoles() fuera de sesión
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -43,11 +41,10 @@ public class UserDetailsImpl implements UserDetails {
|
||||
}
|
||||
|
||||
public String getFullname() {
|
||||
|
||||
return user.getFullName();
|
||||
|
||||
return user.getFullName();
|
||||
}
|
||||
|
||||
// 👇 si en la vista usas principal.role, añade este también
|
||||
public String getRole() {
|
||||
return user.getRoles().stream()
|
||||
.map(r -> r.getName()) // "ADMIN", "USER", ...
|
||||
@ -79,10 +76,15 @@ public class UserDetailsImpl implements UserDetails {
|
||||
|
||||
@Override
|
||||
public boolean isEnabled() {
|
||||
return user.isEnabled();
|
||||
return user.isEnabled() && !user.isDeleted();
|
||||
}
|
||||
|
||||
public User getUser() {
|
||||
return user;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return user.getId();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user