Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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 bosta 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.Percebi que nesse próprio fórum existe uma solução pro meu problema... pois lá em baixo exibe os usuários que estão online, e mesmo que eu feche a janela sem deslogar, ele retira o meu nome dos usuários onlines... é mais ou menos disso que preciso pra resolver meu problema...Obrigado,Eric Saboia.
Carregando comentários...