FJFrigo · Manutenção · Usuários › 7-Controle de Acesso do Grupo · 447

Controle de Acesso do Grupo

Cadastro do grupo de controle de acesso do ceif (ADM, FAT, CRE…) e das regras específicas que ele concede a todos os usuários ligados a ele. Não é o grupo de usuário das opções 442/444. Cada regra traz a mensagem exata, quando dispara e o confronto com o ceif.

Tabelas: controle_acesso_grupo, controle_acesso_especifico_grupo_regra, regra_especifica Programa antigo: não existe no legado — desenho do ControleAcessoGrupoGrid/Form do ceif

Bloqueia

Não grava. statuscode 400 com a frase abaixo, que a tela mostra como está.

Confirma

Pergunta antes de seguir. Nesta tela, só a própria tela pergunta.

Aviso

Passa, mas com um comportamento que surpreende quem está conferindo — ou é conferido só na tela.

Dois grupos diferentes

O grupo do ceif (este, id texto) concede regras específicas pelo usuário ligado a ele. O grupo de usuário (442/444, id numérico) decide o menu — e pode ligar grupos do ceif, que é como a regra chega a quem está nele.

A

Criar e alterar o grupo

Aba Grupo

A grade mostra código, descrição, tipo, quantos usuários estão ligados e quantas regras o grupo concede. O formulário tem duas abas: Grupo (código, descrição e tipo) e Regras de Acesso Específico. Grupo novo gravado não fecha a janela: ela passa para a aba de regras, já com o código definitivo.

Bloqueia

Só usuário master gerencia grupos de controle de acesso.

QuandoCriar, alterar, excluir, conceder ou revogar sem ser usuario.master. Para quem não é master a tela esconde os botões e mostra "Só o usuário master cria, altera ou exclui grupo, e concede ou revoga regra." — a recusa pega a chamada direta.

Sistema antigoNo ceif a tela inteira é @RolesAllowed({"ROLE_COAG","ROLE_MASTER"}).

Todos
Bloqueia

Informe um código para o grupo.

QuandoDa tela, ao criar: código vazio depois da limpeza.

Todos
Bloqueia

Informe um código válido para o grupo.

QuandoDo servidor, ao criar: o código só tinha caracteres descartados pela limpeza (símbolos, acentos soltos). Código em branco chega antes como "id: não deve estar em branco".

Todos
Bloqueia

Código do grupo muito longo (máximo 255 caracteres).

QuandoCódigo com mais de 255 caracteres depois da limpeza.

Todos
Bloqueia

Já existe um grupo de controle de acesso 'FAT'.

QuandoCriar com um código (já limpo) que existe.

Todos
Bloqueia

Informe a descrição do grupo.

QuandoDescrição vazia. A tela confere com esta frase; pelo servidor chega como "descricao: não deve estar em branco" (validação do corpo).

Todos
Bloqueia

Tipo de grupo inválido: XYZ

QuandoTipo fora da lista (ADM, GER, SGE, APR, GIN, FIN, FAT, ALM, GRH, FRH, CON, AIN, IND, GCO, AEX, COG, GVE, CRE, CR2, CCR, FIM, VEN, CR3, IDR, IDG, GAL, OUTROS). A tela só oferece a lista — aparece em chamada direta.

Todos
Bloqueia

Grupo de controle de acesso 'FAT' não existe.

QuandoAlterar, excluir, listar, conceder ou revogar regras de um grupo que não existe (apagado por outra sessão).

Todos
Aviso

(sem mensagem) — o código é limpo e não muda depois

QuandoAo criar, o código perde acentos, vai para maiúsculas, espaço e hífen viram _, e o que não for letra, dígito, _ ou . é descartado ("Gerente Adm-Almox" vira GERENTE_ADM_ALMOX). A tela mostra o resultado enquanto se digita. Na alteração o código não se edita.

Sistema antigoO formulário do ceif faz a mesma limpeza e termina em minúsculas (bug: um toLowerCase desfaz o toUpperCase); aqui fica em maiúsculas, como os grupos reais.

Todos
Aviso

(sem mensagem) — tipo vazio ou antigo continua aceito

QuandoTipo em branco grava nulo (17 dos 42 grupos do central não têm tipo). Um tipo já gravado fora da lista passa na alteração enquanto não for trocado — só a troca para um valor fora da lista é recusada.

Todos
B

Excluir o grupo

As quatro dependências
Confirma

Excluir o grupo de controle de acesso FAT?

QuandoPergunta da tela, embaixo da grade, antes de enviar.

Todos
Bloqueia

Grupo 'FAT' tem 12 usuário(s) vinculado(s) — desvincule pelo cadastro de usuário antes de excluir.

QuandoHá linhas em controle_acesso_usuario_grupo para o grupo.

Todos
Bloqueia

Grupo 'FAT' concede 3 regra(s) específica(s) — revogue-as antes de excluir.

QuandoHá regras em controle_acesso_especifico_grupo_regra (a aba de regras desta tela).

Todos
Bloqueia

Grupo 'FAT' concede 5 regra(s) geral(is) do ceif — revogue-as (no ceif) antes de excluir.

QuandoHá regras gerais (controle_acesso_grupo_regra, os papéis de tela do ceif). Esta tela não as edita — só conta.

Todos
Bloqueia

Grupo 'FAT' está ligado a 2 grupo(s) de usuário (444) — desligue antes de excluir.

QuandoAlgum grupo de usuário liga este grupo do ceif na tela 444 (grupo_usuario_controle_acesso).

Todos
C

Regras de acesso específico

Aba Regras e "Ver regras…"

A aba lista o catálogo inteiro de regra_especifica do sistema CEIF, com uma caixa marcada nas que o grupo concede. Marcar e desmarcar grava na hora (não espera o Gravar do grupo). Quem não é master vê a mesma lista, só leitura, pelo "Ver regras…".

Aviso

Grave o grupo antes de conceder regras.

QuandoSó na tela: grupo novo ainda sem gravar. A concessão depende do código do grupo, que só existe depois do primeiro Gravar.

Todos
Bloqueia

Regra 'FATURAMENTO_X' não existe.

QuandoConceder uma regra que não está em regra_especifica com sistema = 'CEIF'. A tela só oferece o catálogo — aparece em chamada direta.

Todos
Bloqueia

Registro id=0 nao encontrado em 'controle_acesso_especifico_grupo_regra'

QuandoRevogar uma regra que o grupo não concede (desmarcada por outra sessão). Chega com statuscode 404.

Todos
Aviso

(sem mensagem) — conceder de novo não duplica

QuandoRegra já concedida (outra sessão marcou antes): a gravação é ignorada, sem erro.

Todos
Aviso

(sem mensagem) — revogar tira de todos de uma vez

QuandoDesmarcar tira a regra de todos os usuários do grupo e de todos os grupos de usuário (444) que ligam este grupo. É o caminho certo: no cadastro de usuário (443) a regra herdada aparece travada justamente porque vem daqui.

AtençãoQuem tem a mesma regra por outra origem (dada direto ao usuário, ou por outro grupo) continua com ela.

Todos
D

Permissões

Quem pode passar

Ver é livre, gravar é do master. A listagem de grupos e de regras responde a qualquer sessão; criar, alterar, excluir, conceder e revogar exigem usuario.master. Não há regra nomeada equivalente ao ROLE_COAG do ceif para dar a um não-master. A opção 447 não está em opcao_sistema: o item do menu aparece sem depender do Acesso dos Grupos (444).

E

Como o erro chega na tela

Para o QA reproduzir e reportar

Recusa de regra: HTTP 200 com statuscode 400 e a frase, mostrada no formulário ou na caixa de exclusão. Recusa de campo (validação do corpo) chega como campo: frase. Registro inexistente: statuscode 404. Erro inesperado traz o código de ocorrência de 8 caracteres — copie-o no chamado.

F

Regras chumbadas no código

Esperadas — não abrir como defeito

A lista de tipos de grupo (o TipoGrupoUsuario do ceif, com OUTROS no lugar de OUT, que é o que está gravado) e o sistema CEIF das regras estão no código.

G

Diferenças e decisões pendentes

O que muda em relação ao ceif
PontoSituação
existênciatela nova: o legado Harbour não tem cadastro do grupo do ceif
código do grupoem maiúsculas; o formulário do ceif grava em minúsculas por um toLowerCase a mais
acessosó o master grava; no ceif, quem tem ROLE_COAG também. Criar uma regra nomeada para isso é decisão do usuário
exclusãorecusa com usuário, regra específica, regra geral ou grupo de usuário (444) ligado; a FK do banco só cobriria as duas primeiras
regras gerais do ceifnão se editam aqui (papéis de tela do Vaadin, inertes no sistema novo) — só contam na exclusão

Nenhuma regra bate com essa busca. Tente um trecho menor da mensagem, ou limpe os filtros.