estou desenvolvendo um sistema que precisa de relatório de login-in / logout. Pois além de ser necessário gerar tal relatório para acompanhamento administrativo, é necessário barrar o acesso de um usuário caso outro já esteja logado com o mesmo login e senha.
Partindo para o desenvolvimento:
Tenho uma tabela no banco que registra horário de login / logout de cada usuário e uma coluna bit que informa se ele está logado ou não.
No momento do login, eu insiro no banco o horario de login e mudo a coluna "Logado" para 1.
Meu problema começa na hora do logout, pois o usuário pode fechar o browser sem clicar em "Deslogar do sistema", simplesmente fechando a janela...
Possíveis soluções:
1 - Através do evento window.onclose do JavaScript, detectar quando o usuário fechou o browser e rodar minha funcao que encerra o login. O problema é que quando o usuário aperta F5 ele também roda o window.onclose, modificando o status no banco e causando uma falha de segurança. Além disso o IE não se comportou de forma correta com o onclose (pra variar... essa b*** de IE).
2 - Rodar no meu servidor uma rotina que cheque se a session com o id do usuário ainda existe, caso não exista mais ele executa a função pra finalizar o login (inserir no banco e etc). O problema é que até onde eu sei não é possível enxergar uma Session de um computador externo ao que se criou a mesma, imaginei que isso seria até uma falha de segurança... mas como essa rotina seria executada no servidor PHP, talvez exista alguma forma de ler todas as sessions geradas por ele, porém não sei como fazer isso..
Se alguém souber como resolver o problema em alguma das 2 soluções, ou puder me indicar outra solução viável, eu agradeceria muito.
Obrigado pela atenção e paciência de ler tudo isso (hehe),
Pergunta
Guest Eric Saboia
Bom dia,
estou desenvolvendo um sistema que precisa de relatório de login-in / logout. Pois além de ser necessário gerar tal relatório para acompanhamento administrativo, é necessário barrar o acesso de um usuário caso outro já esteja logado com o mesmo login e senha.
Partindo para o desenvolvimento:
Tenho uma tabela no banco que registra horário de login / logout de cada usuário e uma coluna bit que informa se ele está logado ou não.
No momento do login, eu insiro no banco o horario de login e mudo a coluna "Logado" para 1.
Meu problema começa na hora do logout, pois o usuário pode fechar o browser sem clicar em "Deslogar do sistema", simplesmente fechando a janela...
Possíveis soluções:
1 - Através do evento window.onclose do JavaScript, detectar quando o usuário fechou o browser e rodar minha funcao que encerra o login. O problema é que quando o usuário aperta F5 ele também roda o window.onclose, modificando o status no banco e causando uma falha de segurança. Além disso o IE não se comportou de forma correta com o onclose (pra variar... essa b*** de IE).
2 - Rodar no meu servidor uma rotina que cheque se a session com o id do usuário ainda existe, caso não exista mais ele executa a função pra finalizar o login (inserir no banco e etc). O problema é que até onde eu sei não é possível enxergar uma Session de um computador externo ao que se criou a mesma, imaginei que isso seria até uma falha de segurança... mas como essa rotina seria executada no servidor PHP, talvez exista alguma forma de ler todas as sessions geradas por ele, porém não sei como fazer isso..
Se alguém souber como resolver o problema em alguma das 2 soluções, ou puder me indicar outra solução viável, eu agradeceria muito.
Obrigado pela atenção e paciência de ler tudo isso (hehe),
Eric Saboia.
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.