Páginas filhas
  • 6. Comportamentos de compatibilidade e exceções no controle de acessos

01. INTRODUÇÃO

Essa página tem o objetivo de explicar eventuais situações complicadas que causam dificuldade no entendimento do comportamento e da validação nos controle de acessos aos programas.

A mistura dos controles pode causar situações complicadas no processo de avaliação da concessão ou bloqueio de um acesso a determinado programa, por isso a lista a seguir apresenta cenários onde não foi possível definir um certo comportamento considerando ambientes com usuário no banco de dados e usuários em arquivo .spf.

Para evitar os cenários a seguir, é sugerido o uso de um único tipo de controle como só Privilégios ou só Acesso de Profile/Menu. E quando migrado do uso dos Acessos por Profile/Menu para Privilégios, realizar a limpeza do Profile de usuários com o tipo de registro como ACBROWSE. Isso evitará boa parte das situações descritas nos cenários a seguir.


SITUAÇÃO 1. Grupo Default, usuário sem Privilégios associado e com Acessos de Profile configurado

Essa situação gera diferentes comportamentos para ambientes com sistema no banco de dados e sistema em arquivos (.spf e dicionário ctree) e considera também a configuração do campo regra de grupo.


A situação acontece em função do objetivo dos recursos utilizados, sendo:

1. Grupo default - construído para inibir o acesso a todos os programas;

2. Privilégios - construído para conceder ou remover acessos (depende da existência do Grupo Default) e;

3. Acessos no Profile - projetado para remover acessos.


O que causa toda a situação é o uso do Acesso de Profile, que foi planejado somente para remover acessos, começa a conceder acessos do tipo Permitido quando alguma sub-rotina de um programa de menu é configurada para Não Permitido

Ao fazer esta manutenção no Restrições de Acessos do Menu para um usuário, diz-se que a sub-rotina é Não Permitida e que as demais são Permitidas (inclusive o programa principal). Na execução da avaliação do acesso, não há Privilégios para o Usuário e portanto chega o momento de avaliar o Acesso de Profile.

A inexistência de Privilégios faz com que os comportamentos sejam diferente entre ambiente com sistema no banco de dados e sistema em arquivos.


Quando sistema no banco de dados a situação mencionada resulta em bloqueio do acesso quando o usuário possui regra de grupo como priorizado ou somar, quando regra de grupo como desconsiderar o acesso é concedido.

Quando sistema em arquivos, os dados base para validação de acesso são carregados durante o processo de entrada no sistema e a ausência de Privilégios indica a permissão para usar Acessos de Profile e por isso a situação mencionada resulta em concessão do acesso, independe da configuração da regra de grupo.


A mudança para garantir o mesmo comportamento nos dois cenários de ambiente traz sérios problemas para os administradores do sistema e por isso sugerimos a Manutenção do Profile.


Como evitar o problema: quando configurado Grupo Default no ambiente, utilize Privilégios e faça a Manutenção de Profile removendo os registro do tipo ACBROWSE.