No meu trabalho estamos desenvolvendo uma nova ferramenta e nela existe controle de usuários, mas desejamos monitorar mais informações do que simplesmente o usuário acessar, por exemplo. Nos foi requisitado que o usuário após a 4 tentativa de login seja bloqueado o acesso, e também registrar as tentativas e a localização das mesmas e por último não manter dois acessos simultâneos no portal a fim de minar o problema de compartilhamento de senhas indevidamente.
Gostaria de ideias de como resolver tais problemas. Os dois primeiros eu pensei em criar uma tabela no banco apenas para registrar esses eventos porém a questão de monitorar os acessos simultâneos de um mesmo usuário ainda está muito nublada e não sei nem pra onde ir.
Obs: estamos usando PostgreSQL como banco de dados.
Deses já muito obrigado meus amigos.
EU diagramei mais ou menos como o fluxo deve funcionar.
![]( )