Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Autorização com perfils diferentes

minha duvida é a seguinte como faria para que tivesse diferentes niveis de acesso na aplicação mas que quando alguem se cadastrasse como perfil x essa autorização ja seria dada para ele por exemplo esse codigo funcionaria de ja estiver cadastrado no banco de dados o relacionamento De gerente com perfil. mas como posso fazer isso automatico pelo cadastro direto ?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Resulvido a resposta foi ja pré definir os perfils ja cadastrados, usando migrations, rodando um sql com insert bem parecido com o curso,

depois na parte de cadastro a pessoa só precisa digitar o id de acordo com o perfil dela que ja está cadastrado no banco.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

para cadastrar : public OperadorDto cadastrarOperador(CadastroOperadorDto dto) {

    Operador operador = modelMapper.map(dto, Operador.class);

    Perfil perfil = perfilRepository.getById(dto.getPerfilId());

    BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();

    String encode = bCryptPasswordEncoder.encode(operador.getSenha());
    operador.setSenha(encode);
    operador.setPerfil(Collections.singletonList(perfil));


    operadorRepository.save(operador);

    return modelMapper.map(operador, OperadorDto.class);

}

assim o programa ja cadastra qualquer um novo usuário, com regras de segurança talvez nao seja o adequado mas para entender como seria acho bem valido.

na configurações de security ficou:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade