none
Destruir session ao fechar uma pagina RRS feed

  • Pergunta

  • Pessoal gostaria de uma ajuda, eu faço uso de sessions e em alguns casos utilizo a session para armazenar dados de um Datatable em uma pagina apenas não usando esses dados caso o usuário saia dessa pagina, então gostaria de uma ajuda, como posso fazer para que ao sair de uma pagina uma session seja destruida. Teria que usar um evento unload por exemplo do javascript ... se possível e puderem me dar uma dica sobre esse assunto.

    Junior

    terça-feira, 4 de outubro de 2016 14:14

Respostas

  • É dificil implementar isso. Quem gera a sessao é o browser e existem varios eventos que deveriam fechar a sessao mas nao sao capturados, por exemplo fechar o browser. Neste caso nenhum javascript é executado.

    Nao existe magica para resolver esse tipo de problema, veja aqui uma longa discussao sobre esse assunto:

    https://forums.asp.net/t/1116238.aspx?End+Session+When+Browser+Closed

    Particularmente eu sou favoravel à sempre limpar as sessoes no PageLoad, como é feito com algumas paginas de banco por motivos de segurança. Note que mesmo o uso do back força o usuario à se relogar.

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    terça-feira, 4 de outubro de 2016 14:37
    Moderador

Todas as Respostas

  • Olá,

    Eu colocaria em um botão/evento de logoff do sistema. Lá é só adicionar:

    Caso queira zerar uma Session específica use:

    Session.Remove("nome_da_session");

    Se deseja zerar todas:

    Session.Abandon();

    Valeu!


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    terça-feira, 4 de outubro de 2016 14:25
  • É dificil implementar isso. Quem gera a sessao é o browser e existem varios eventos que deveriam fechar a sessao mas nao sao capturados, por exemplo fechar o browser. Neste caso nenhum javascript é executado.

    Nao existe magica para resolver esse tipo de problema, veja aqui uma longa discussao sobre esse assunto:

    https://forums.asp.net/t/1116238.aspx?End+Session+When+Browser+Closed

    Particularmente eu sou favoravel à sempre limpar as sessoes no PageLoad, como é feito com algumas paginas de banco por motivos de segurança. Note que mesmo o uso do back força o usuario à se relogar.

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    terça-feira, 4 de outubro de 2016 14:37
    Moderador
  • Essas questões de session são complicadas, mas vou analisar essa possibilidade de dependendo da logica empregada nas paginas vou usar essa dica de limpar a session dentro do LOAD da pagina pois meu caso não seria para limpar o login de usuario seria mais para limpar a session que uso para armazenar um Datatable que estou alimentando momentaneamente ou seja estou desconectado do Banco de Dados pois em alguns casos faço uso desse formato para somente depois inserir os registros no Banco de Dados para que não se fique gerando "lixo" desnecessario em minha base.

    Junior

    terça-feira, 4 de outubro de 2016 15:20