flag de usuario conectado

Fórum sobre Banco de Dados e RDDs para Clipper/[x]Harbour.

Moderador: Moderadores

Avatar do usuário
Amparo
Usuário Nível 3
Usuário Nível 3
Mensagens: 342
Registrado em: 20 Ago 2010 10:38
Localização: caieiras / sao paulo

flag de usuario conectado

Mensagem por Amparo »

ola amigos

bom dia

em Harbour quando um usuário conectava no sistema, eu forçava o travamento do registro para que o mesmo não conseguisse acessar duas vezes com o mesmo login, quando ele saia do sistema era liberado, quando acabava energia elétrica ou o mesmo fechava via gerenciador de tarefas também era liberado.

talvez comentem, para que impedir o usuário de logar duas vezes: posso dizer vários motivos mas o principal é que sabemos que os USUARIO é USUAIO né, o cara trabalha no andar de cima e loga no sistema, desce um andar e vai em outro setor e loga novamente, ai volta para seu setor e esqueceu logado, ai vem um outro e vê logado então ele exclui, altera, zoa um registro, meu sistema grava o que fez, quando fez e quem fez, exceto exclusão de registros.

pergunta: em banco de dados (mysql ou mariadb) tem alguma forma de fazer isso automaticamente, ou seja ao sair do sistema libera o registro se acabar a energia elétrica libera, se o cara fechar pelo gerenciado do Windows libera.

como estou fazendo hoje, na tabela de USUARIO existe um campo chamado USU_ACTIVE ENUM "T" e "F" quando ele loga no sistema gravo "T" quando ele sai do sistema gravo "F" caso ocorra algum erro anormal que venha fechar o sistema é chamado a função de tratamento de erro e na função antes de fechar o sistema é gravado "F" no devido campo, mas o usuário vai e desliga a maquina com o sistema aberto ou vai no gerenciador do Windows e fecha o sistema ai não é atualizado o campo USU_ACTIVE.

sera que existe alguma forma de controlar essas regras?

abraços
Avatar do usuário
carlaoonline
Usuário Nível 3
Usuário Nível 3
Mensagens: 190
Registrado em: 24 Ago 2014 22:38
Localização: Porto Alegre-RS

flag de usuario conectado

Mensagem por carlaoonline »

Boa tarde!
Amparo escreveu:mas o usuário vai e desliga a maquina com o sistema aberto ou vai no gerenciador do Windows e fecha o sistema ai não é atualizado o campo USU_ACTIVE.

..Sei lá, só uma ideia.....

criar na tabela USUARIO outro campo chamado USU_TIME, ficando então os campos USE_ACTIVE e o USE_TIME

Ao invés do sistema do usuário atualizar o arquivo apenas uma vez ao logar, fazer com que o sistema do usuário faça esse lançamento recorrentemente a cada X segundos (ou minutos) juntamente com a DATA E HORA no campo USE_TIME, e o pulo do gato seria um programa rodando no servidor que ficasse colocando .F. em todos os usuários que não atualizassem o arquivo até determinado período de tempo, ou seja, se não atualizou é pq foi desligado, ou travou, ou faltou energia... É tipo uma "prova de vida" que é fiscalizada pelo servidor.

Essa seria a ideia principal, lógico que pode ser incorporado mais informações e funcionalidades a partir disso, como nome do terminal, nome do usuário do S.O., tempo de funcionamento, TENTATIVAS DE LOGIN SEM ÊXITO (e as senhas e usuários utilizados) , quantidade de vezes que saiu do sistema desligando direto o PC, etc...
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

flag de usuario conectado

Mensagem por rochinha »

Amiguinhos,

amparo
pergunta: em banco de dados (mysql ou mariadb) tem alguma forma de fazer isso automaticamente, ou seja ao sair do sistema libera o registro se acabar a energia elétrica libera, se o cara fechar pelo gerenciado do Windows libera.
Creio que o INNODB pode lhe fornecer este suporte. Verifique a necessidade de implementação e uso.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Responder