Saltar al contenido

Spring Security/Spring Boot: cómo configurar ROLES para los usuarios

Deseamos brindarte la mejor información que encontramos en línea. Queremos que te sea de mucha ayuda y si deseas comentarnos alguna mejora hazlo libremente.

Solución:

Debe completar el contenido del rol usted mismo al crear sus Detalles de usuario:

public class SecurityUser implements UserDetails{
    String ROLE_PREFIX = "ROLE_";

    String userName;
    String password;
    String role;

    public SecurityUser(String username, String password, String role)
        this.userName = username;
        this.password = password;
        this.role = role;
    

    @Override
    public Collection getAuthorities() 
        List list = new ArrayList();

        list.add(new SimpleGrantedAuthority(ROLE_PREFIX + role));

        return list;
    

Básicamente, lo que debe hacer es anular el método: getAuthoritiesy rellene el contenido de su campo de función en el GrantedAuthority lista.

Lo que dijeron Divelnto, zapl y thorinkor es correcto. Pero la pregunta debe ser sobre “Rol” y NO “Roles”. O, si tiene usuarios y roles en una tabla, es un mal diseño. Es posible que desee revisar su enfoque de diseño. Debe tener una entidad de rol separada. Y en su UserService puede hacer algo como:

AppUser user = userRepository.findByUsername(username);

Set grantedAuthorities = new HashSet<>(); // use list if you wish
for (AppRole role : user.getRoles()) 
    grantedAuthorities.add(new SimpleGrantedAuthority(role.getName()));

return new org.springframework.security.core.userdetails.User(
        user.getUsername(),
        user.getPassword(),
        grantedAuthorities
);

Muestras: muestra1 muestra2 muestra3

En la base de datos, puede almacenar el nombre del rol como – (p. ej.) ADMIN/EDITOR/VIEWER en la base de datos o almacenar roles como ROLE_ADMIN/ROLE_… entonces es posible que desee usar hasRole/hasAuthoriy. Espero eso ayude.

Para referencia, eche un vistazo aquí:

Primavera relacionada con la seguridad 1

Primavera relacionada con la seguridad 2

Aquí puedes ver las reseñas y valoraciones de los usuarios

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *