Jump to content

Recommended Posts

  • 3 weeks later...
Posted

Boas,

só vi agora este topico.

Podes guardar numa tabela quando um utilizador faz login e remover quando faz logout.

Quando vai tentar fazer login, verificas primeiro se o utilizador está registado nessa tabela. Se tiver indicas que já está logado em outra sessão.

O unico problema que podes ter é caso o utilizador não faça logout, fica com um registo preso e impede de fazer novo login.

Mas também há formas de tentar dar a volta a esta situação

Posted

Podes guardar numa tabela quando um utilizador faz login e remover quando faz logout.

Quando vai tentar fazer login, verificas primeiro se o utilizador está registado nessa tabela. Se tiver indicas que já está logado em outra sessão.

Pensei em fazer isto assim mas depois tenho problema que referes a seguir.

Sabes-me dizer como se pode fazer isto se o utilizador não fizer logout?

Posted (edited)

Podes guardar o IP do utilizador junto nessa tabela.

Quando fazes login, caso o utilizador ja exista e o IP seja o mesmo, deixa entrar na mesma

E tambem podes guardar uma data de ultima atividade que é atualizada de X em X minutos (podes ter na pagina uma chamada ajax ao servidor so para atualizar a data).

Quando tentas fazer login, caso o utilizador ja exista na lista, verificas a data de actividade.

Se o utilizador registado tem a data/hora de atividade há mais de 1h por exemplo, aceitas na mesma o login

Podes também, se ao fazer login tiver lá ja o registo do utilizador mas com outro IP, removes esse registo e deixas o utilizador entrar.

Na aplicação, de X em X tempos verificas se existe um registo para o utilizador atual com o IP atual. Caso não exista, forças o logout.

Assim so permite um utilizador com o mesmo login de cada vez.

Isto tambem depende um bocado de que tipo de aplicação é e quanto rigoroso queres que seja o controlo.

Podes tambem guardar o id da sessão nessa tabela.

Assim se entrares noutra sessão com o mesmo utilizador, removes o registo (caso exista) e adicionas para a nova sessão.

De X em X tempos verificas se esta registado o utilizador com esse id de sessão. Se não tiver forças o logout.

Edited by nelsonr

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.