Permissões do usuário
Pré-requisitos de acesso
- Permissão (módulo):
manageRoles - Licença/Feature: Nenhuma
- Contêiner do menu: GERAL → grupo Usuários
O que é / quando usar
Tela onde se atribui uma Função (role) a um administrador e se liga/desliga o acesso dele ao BackOffice. Diferente da tela de Funções — que define quais roles existem e os módulos de cada uma —, aqui você associa cada administrador a uma role e controla se a permissão está habilitada. Use para conceder, trocar ou revogar acesso administrativo de um colaborador.
Pré-condições
- Permissão:
manageRolescadastrado para a role do operador. Permissão é dupla: enumE_PERMISSION_MODULES.manageRolesno backend (CPM-RoleController) + módulo dinâmicomanageRolesassociado à role no DB. - Licença/Feature: nenhuma.
- Dependências: as Funções já devem existir (criadas em Funções); o usuário-alvo precisa já ter cadastro na plataforma (a tela valida o e-mail antes de permitir salvar).
Passo a passo
- Acesse o menu Usuários → Permissões de usuário (
/users/permissions). - Use a busca por e-mail e o filtro por tipo de função para localizar um administrador.
- Para conceder acesso novo, clique em Nova permissão: informe o e-mail, valide (check), escolha a Função e salve.
- Para alterar, use o ícone de editar na linha; para revogar, o de excluir.
- O toggle de status habilita/desabilita a permissão sem excluí-la.
Filtros e colunas
| Filtro / Coluna | O que mostra | Origem do dado |
|---|---|---|
| Busca por e-mail | Filtra a lista de admins por e-mail | getAllUserRoles (CPM-RoleController) |
| Filtro por tipo | ALL, Administrador (REGULAR_ADMINISTRATOR), Super Administrador (SUPER_ADMINISTRATOR) | enum de roles |
| Coluna E-mail | E-mail do administrador | CPM |
| Coluna Nome | Nome do administrador | CPM |
| Coluna Tipo (Função) | Função atribuída (com tooltip explicativo) | userRole.roles[0].name |
| Ações | Editar função, habilitar/desabilitar, excluir | CPM-RoleController |
Campos (modal Nova permissão / Editar)
| Campo | O que é | Obrigatório? | Efeito no sistema/backend |
|---|---|---|---|
| E-mail do administrador a receber a permissão | Sim | Validado contra o CPM (getUserBasicInfo). Se não existir, erro "usuário não encontrado"; se já tiver permissão, erro "já existente". Resolve o user_id | |
| Função | Role a atribuir (define os módulos liberados) | Sim | Cria/edita o vínculo user → role via createUserRole/editUserRole. Os módulos da role determinam o que o admin vê e pode fazer |
Ações e modais
- Nova permissão: modal com validação de e-mail em tempo real. Botão Salvar e criar novo mantém o modal aberto para cadastrar vários admins em sequência.
- Editar função: troca a role do administrador.
- Habilitar/Desabilitar: o toggle alterna o campo
enabled(data de habilitação) — desabilitar não exclui o vínculo, apenas suspende o acesso. - Excluir: remove o vínculo (bottom-sheet de confirmação).
Regras de negócio / cuidados
Atenção
- Atribuir/alterar/remover funções de administrador são ações de alto risco (escalonamento de privilégio). As rotas correspondentes (
manageUserRoles) podem exigir step-up (re-autenticação senha+MFA). Conceda o mínimo necessário — princípio do menor privilégio. - A permissão efetiva só funciona se a Função tiver os módulos corretos e os módulos correspondentes existirem no catálogo do DB (ver Módulos de permissão). Permissão é dupla — enum + módulo dinâmico.
- Não é possível atribuir uma função a um e-mail sem cadastro: valide o e-mail antes de salvar.