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

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

01. 

...

Solucoes_totvs

...

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.

...

Linhas_totvs

...

02. SITUAÇÃO/REQUISITO

03. SOLUÇÃO

...

tabsPasso 01, Passo 02, Passo 03, Passo 04
idspasso1,passo2

...

defaultyes
referenciapasso1

...

defaultno
referenciapasso2

04. DEMAIS INFORMAÇÕES

Card documentos
InformacaoUse esse box para destacar informações relevantes e/ou de destaque.
TituloIMPORTANTE!

...




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>

Índice