Controle de tempo de acesso

É possível restringir a criação da sessão a determinados horários do dia ou dias da semana.

Restrições de sessão são definidas pela cláusula ACCESS TIME.
  • Se o USER possui uma configuração específica, essa configuração é usada.
  • Se o USER não possui configuração, mas a instrução GROUP do usuário possui uma configuração específica, a configuração do grupo é usada.
  • Se qualquer GROUP do usuário proíbe o acesso explicitamente, a criação da sessão é rejeitada.
  • Se um USER pertence a GROUPS diferentes com tempos de acesso diferentes, a configuração de GROUP mais restritiva é usada. Portanto, um USER tem o acesso permitido se nenhum dos GROUPS restringe o tempo.
A tabela a seguir mostra exemplos de comando para restrições diferentes em um usuário. Os dias são numerados de 1 a 7, começando com o Domingo como 1.
Tabela 1. Exemplos de configuração de restrição
Restrição Definição
ACCESS TIME ALL; Nenhuma restrição no acesso.
ACCESS TIME DEFAULT; As restrições são definidas pelas configurações do GROUP.
ACCESS TIME (DAY ALL START '8:00' END '18:00'); O acesso é permitido todos os dias a partir das 8:00 a.m. até as 18:00 p.m.
ACCESS TIME (DAY 3,4,5 START '7:00' END '18:00', DAY 2, 6 START '6:00' END '15:00'); O acesso é permitido às terças, quartas e quintas-feiras, a partir das a.m. às 18:00 p.m, e às segundas e sextas-feiras, a partir das a.m. até as 15:00 p.m.

Os tempos definem quando os usuários podem efetuar login, mas os usuários podem permanecer no sistema após o tempo de restrição, se eles efetuaram login durante o intervalo de tempo permitido e não efetuaram logout.

O exemplo a seguir cria um usuário com um limite de sessão simultânea de 2 e um horário de acesso que varia de 7:00 a.m. às 19:00 p.m.:
SYSTEM(ADMIN)=> CREATE USER jdoe CONCURRENT SESSIONS 2 ACCESS TIME 
(DAY ALL START '7:00' END '19:00');
CREATE USER
O exemplo a seguir cria um grupo com um limite de 8 sessões simultâneas e um horário de acesso que varia de terça a quinta-feira, a partir das a.m. às 18:00 horas p.m.:
SYSTEM(ADMIN)=> CREATE GROUP finance CONCURRENT SESSIONS 8 ACCESS TIME 
(DAY 3,4,5 START '9:00' END '18:00');
CREATE GROUP