Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

andersonpda

eventos

Recommended Posts

olá, eu tenho um sistema em ajax, que na ação ONUNLOAD, tem uma função que desloga do sistema, minha pergunta étem algum evento para, quando você mudar de pagina ex:quando digitar ex:www.sistemaemajax.com.brele entre no meu sistema, exibindo uma tela de login e tal, pra acessar o site, e quandoa pessoa digitar qualquer outro site e for para outra URL, execute uma função que deslogara no sistemaalguem sabe como é?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu faço isso com PHP. Se você estiver usando o PHP eu posso te passar como fazer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

kra, é o seguinte, você primeiro tem que lembrar que o onunload é executado SEMPRE que a pagina é descarregada, isso inclui troca de paginas até mesmo dentro do seu proprio site... em outras palavras, ao clicar em um link o usuario ja seria deslogado, exceto se seu site for totalmente carregado em ajax, caso contrario o unload vai ser executadoonbeforeunload eu nao recomendo pois ele apenas é compativel com Internet Explorer, apesar de ser melhor para esse caso não é tão viavel (a nao ser que voce queira ter mais trabalho, ai voce define o onbeforeunload para o IE, e onunload para os demais)mas mesmo o onunload nao é recomendavel se voce quizer ter seguranca que o usuario vai ser deslogado, muitas vezes a requisicao nao consegue ser feita a tempo do browser ser fechado, ou até mesmo pode haver um erro na transacao ajax... e nesse caso voce não tem como forcar ele a refazer...eu so recomendo o uso para isso em caso de uso secundario, no meu chat por exemplo eu coloquei para o usuario sair da sala sozinho no onunload, mas isso não é confiavel, entao eu tenho um sistema que caso o usuario não faca nenhuma requisicao em X segundos, ele é deslogado, ou seja, mesmo que o onunload não funcione, eu tenho outro recurso que garante a saida posterior do usuarioé isso ae, qq coisa volta a perguntar ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

o que ele pode fazer é executar uma função na página pai pelo opener, que por sua vez chama uma pagina de logout.O site do bradesco funciona assim

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou te dar um exemplo:

 

No evento unload faz uma requisição (ajax) para uma página logout.php, mas só nas páginas que precisa estar logado.

Agora em todas as paginas verifique se está logado , se estiver crie uma sessão ex.: $_SESSION['logado'], passando um valor qualquer tipo um booleano.

Na página logout.php faz o seguinte:

 

<?phpif(!isset($_SESSION['logado'])){	session_destroy();}unset($_SESSION['logado']);?>

Faça alguns testes isso é um exemplo simples, você pode fazer maiores validações, qualquer duvida estamos ai.

 

PS: com esse exemplo se você recarregar a página (no IE), perde a sessão e desloga do sistema como se tivesse ido para outro site e tentado voltar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.