Dúvida
Como configurar o sistema para que usuários inativos sejam automaticamente desconectados após um período de tempo?
Ambiente
Protheus - Configurador - A partir da versão 11
Solução
A configuração de Inactive TimeOut no Protheus serve para desconectar usuários que estejam ociosos no sistema. A configuração pode ser feita em 3 lugares: No arquivo appserver.ini, que vale para todo o ambiente; no usuário; no grupo.
Configuração no arquivo appserver.ini
- Abra o arquivo appserver.ini do Servidor de Aplicação
- Na seção do ambiente, insira a linha InactiveTimeOut=###, onde ### é um número em segundos para que os usuários ociosos sejam desconectados
[P12]
SourcePath=C:\TOTVS 12\Microsiga\protheus\apo\
RootPath=C:\TOTVS 12\Microsiga\protheus_data
CtreeRootPath=C:\TOTVS 12\Microsiga\protheus_data
StartPath=\system\
x2_path=
RpoDb=top
RpoLanguage=Portuguese
RpoVersion=120
LocalFiles=CTREE
Trace=0
localdbextension=.dtc
HELPSERVER=localhost:8079
FWTraceLOG=1
TOPMEMOMEGA=1
InactiveTimeOut=300
Configuração no Usuário
- Abra o Configurador > Usuário > Senhas > Usuários
- Clique sobre o Usuário e clique em Alterar
- Na aba Restrições de acesso, em Timeout da estação (em minutos), insira a quantidade de minutos para a desconexão do usuário, e clique em Confirmar
Configuração no Grupo
- Abra o Configurador > Usuário > Senhas > Grupos
- Clique sobre o Grupo e clique em Alterar
- Na aba Grupo, Seção Parâmetros, em Timeout da estação (em minutos), insira a quantidade de minutos para a desconexão do usuário, e clique em Confirmar
Quando a configuração é feita em mais de um lugar, existe uma regra de prevalência. De um modo geral, a configuração que está no Grupo sobrepõe as demais, a menos que a Regra de acesso por grupo esteja como Desconsiderar. A configuração no arquivo appserver.ini serve para todos os usuários que não tiverem configuração específica no seu Usuário ou no Grupo. Abaixo uma tabela de possibilidades:
Appserver.ini | Usuário | Grupo | Regra de Acesso por Grupo | Permite acessar |
---|---|---|---|---|
5 min | 1 min | Sem grupo | Sem grupo | Usuário |
1 min | 5 min | Sem grupo | Sem grupo | Usuário |
5 min | 3 min | 1 min | Somar | Grupo |
5 min | 3 min | 1 min | Priorizar | Grupo |
5 min | 3 min | 1 min | Desconsiderar | Usuário |
1 min | 5 min | 3 min | Somar/Priorizar | Grupo |
1 min | 3 min | 5 min | Somar/Priorizar | Grupo |
3 min | 0 min | 0 min | Somar/Priorizar | Appserver.ini |
1 min | 3 min | 0 min | Somar/Priorizar | Appserver.ini |
Sem configuração | 1 min | 3 min | Somar/Priorizar | Grupo |
Sem configuração | 1 min | 3 min | Desconsiderar | Usuário |
Sem configuração | 3 min | 0 min | Somar/Priorizar | Sem timeout |
Baseando-se na tabela acima, seguem abaixo alguns exemplos de cenários, e a configuração que deve ser feita:
Cenário 1: Preciso definir o Timeout para um único Usuário que pertence a um Grupo.
>>> Esta configuração só irá funcionar se a Regra de acesso por grupo deste Usuário estiver como Desconsiderar e o Timeout da estação (em minutos) no Usuário estiver configurado com algum número diferente de 0.
Cenário 2: Configurei o Timeout para um Grupo de Usuários tendo já configurado um Timeout no Usuário que faz parte deste Grupo. Qual Timeout será respeitado?
>>> A configuração no Grupo prevalece sobre as outras. Porém, se a Regra de acesso por grupo deste Usuário estiver como Desconsiderar, a configuração que será respeitada será a do Usuário.