Visão Geral
Restringir o horário de acesso ao sistema em um ambiente corporativo, é uma forma de evitar que usuários acessem os dados da empresa fora do local de trabalho, evitando por exemplo, vazamento de informações.
O objetivo dessa implementação é permitir que o administrador do sistema seja capaz de definir essas restrições, através do Grupo de Usuários.
Implementação
A seguir, instruções da proposta de implementação.
Grupo de Usuários
No cadastro de Grupo de Usuários, vamos adicionar campos onde o administrador poderá definir se a restrição de horário de acesso será aplicada ao grupo, se for, quais são os horários que os usuários podem acesssar:
Autenticação
A rotina de autenticação deve ser alterada para verificar se o usuário pode entrar no sistema no horário atual. Para isso, será necessário verificar todos os grupos de usuário onde o usuário está inserido, e mostrar uma mensagem de erro caso algum dos grupos configurar acesso fora do horário permitido.
Texto da mensagem:
Não é possível acessar o sistema fora do horário permitido.
Usuário já autenticado
Se o usuário já estiver autenticado após o horário limite, ele deve ser redirecionado para a página de autenticação do sistema, onde a mesma mensagem de erro deve ser exibida pra ele.
Este comportamento pode ser implementado em módulo HTTP, e a verificação deve ocorrer apenas em de páginas e APIs.
Qualquer verificação deve ser desconsiderada se for um usuário administrador.