Pular para o conteúdo principal

Usuários e Permissões

A administração de usuários e o sistema de permissões controlam quem pode acessar quais páginas e ações dentro da plataforma H1 Tech.

Como acessar​

Rota: /usuarios — exige permissão administracao.usuarios e privilégio de administrador.

Modelo de permissões​

As permissões são organizadas em uma estrutura hierárquica de grupo → ação:

type Permissions = Record<string, boolean | Record<string, boolean>>;

Cada grupo representa um módulo (produto, movimentacao, administracao, etc.) e cada ação representa uma operação dentro do módulo. Quando o valor é diretamente boolean, o módulo inteiro é controlado por uma única flag.

Tipos de usuário​

  • Administrador (admin: true) — acesso total a todas as páginas e ações, ignorando o mapa de permissões.
  • Usuário comum — acesso restrito ao que está marcado como true em seu mapa permissoes.
  • Usuário device (gerado por seed db:seeduser) — usado por leitores fixos. Recebe permissões e hierarquia atribuídas no gerenciador.

Mapa de permissões disponíveis​

Cada página da aplicação declara a permissão necessária via <ProtectedPage requiredPermission="...">. Abaixo o mapa atual extraído do código.

Página inicial e dashboards​

  • inicio — /inicio

Etiquetas e Impressão (Tier Impressão)​

  • etiquetas — /etiquetas
  • impressao — /impressao (grade de impressão)
  • produto.cadastro_produto — /cadastro-produto
  • produto.gerar_ativos — /gerar-ativos

Ativos e Associações​

  • ativos — /ativos
  • produto.associar_epc — /associar-epc
  • produto.associar_beacon — /associar-beacon

Inventários​

  • inventarios — /inventarios

Movimentação​

  • movimentacao.movimentar — /movimentacao
  • movimentacao.registros — /movimentacao/registros
  • movimentacao.movimentacao-temporeal — /movimentacoes-temporeal
  • movimentacao.mapa — /mapa

Separação de Ativos​

  • separacao_ativos.ordem_separacao — /ordem-separacao
  • separacao_ativos.relatorios_separacao — /relatorios-separacao

Outros módulos​

  • pacotes — /pacotes (requer feature flag pacotes)
  • niveis_organizacionais — /niveis-organizacionais

Administração​

  • administracao.usuarios — /usuarios (requer admin)
  • administracao.configuracao — /configuracao (feature flags)
  • administracao.configuracao_cores — /configuracao-cores
  • administracao.logs — /logs

Como usar a tela de Usuários​

  1. Acesse /usuarios (apenas administradores).
  2. Clique em Criar usuário para abrir o formulário.
  3. Preencha nome, e-mail, senha inicial e — se aplicável — marque Administrador (substitui o mapa de permissões).
  4. No bloco de permissões, marque/desmarque cada ação por grupo.
    • Use o botão Padrão para aplicar o template useDefaultPermissions (consulta /user/default-permissions no backend).
    • Use Limpar tudo para zerar.
  5. Atribua a hierarquia organizacional (locais a que o usuário tem acesso) na aba correspondente.
  6. Clique em Salvar.

Boas práticas​

  • Princípio do menor privilégio: comece com o template padrão e adicione permissões só conforme necessário.
  • Admins escassos: marque admin: true apenas para operadores de TI/responsáveis pelo sistema.
  • Usuários device: ao criar um ponto de leitura para dispositivo fixo, atribua a hierarquia de locais ao usuário device e dê permissão somente ao local correspondente.
  • Auditoria: alterações em usuários ficam registradas em Logs do Sistema.