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 do de um acesso a um determinado programa.A , por isso a lista a seguir apresenta cenários onde não foi possível forçar definir um determinado comportamento quando levado em considerações 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 do dos Acessos por Profile/Menu para Privilégios, realizar a limpeza do Profile de usuário usuários com o tipo de registro como ACBROWSE
. Isso evitará os cenários descritos boa parte das situações descritas nos cenários a seguir.
...
...
Essa situação gera diferentes comportamentos para ambientes com sistema no banco de dados e sistema em arquivos (.spf e dicionário ctree).
O problema 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 acesso acessos do tipo Permitido
quando alguma subrotina sub-rotina de um programa de menu é configurada para Não Permitido
. Isso só acontece pela combinação Acessos de Profile e Grupo Default.
Ao fazer esta manutenção no Restrições de Acessos do Menu para um usuário, diz-se que a subrotina 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, é possível de forma simples e sem onerar desempenho verificar os acessos de Privilégios ou Profile no banco de dados e por isso 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 não há como resolver sem a 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.
...
...
Templatedocumentos |
---|
HTML |
---|
<style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } .aui-tabs.horizontal-tabs>.tabs-menu>.menu-item.active-tab a::after { background: #FF9900; !important } .menu-item.active-tab { border-bottom: none !important; } </style> |