none
Impedir de usar o voltar com a Session vazia RRS feed

  • Pergunta

  • Boa Tarde

    Estou com um problema na Session, estou fazendo um sistema no qual o usuario loga e guardo o id do login na session porem quando ele desloga ele mata a Session mais quando clico no botão voltar do browser ele volta como se a session não estivesse vazia, qual seria meu problema?? 

    terça-feira, 2 de outubro de 2012 15:56

Respostas

Todas as Respostas

  • Tem certeza que a sessão volta?

    Se ele der f5 na tela, vai conseguir mexer como se tivesse uma sessão?

    Tem certeza que não está criando a sessão em algum lugar?


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    terça-feira, 2 de outubro de 2012 15:58
  • Sim, porem somente se clicar no voltar do browser se eu sair e apertar F5 ele faz um post da pagina e vai pra tela de login porem ao clicar em voltar ele volta pra tela, ja desabilitei o cache ja porem segue com o mesmo problema

    Segue o codigo 

                if (!IsPostBack)
                {
                    Response.Cache.SetCacheability(HttpCacheability.NoCache);
                    if (Session["Login"] == null)
                    {
                        Response.Redirect("login.aspx");
                    }
                }

                if (eLogin == null)
                    Response.Redirect("login.aspx");
                else
                    lblUsuarioLogado.Text = eLogin.Nome;

    agora o codigo ao deslogar

            protected void lkbLogout_Click(object sender, EventArgs e)
            {
                Session.Clear(); ;
                Session["Login"] = null;

                Response.Redirect("login.aspx");
                
            }



    terça-feira, 2 de outubro de 2012 16:04
  • Boa tarde,

    Como você esta fazendo para colocar o valor na session?


    Bruno Viegas D. Ribeiro

    Analista Desenvolvedor de Sistemas
    www.brunoviegas.com.br
     

    terça-feira, 2 de outubro de 2012 16:18
  • Isso é normal.. quando você clica em voltar, o browser não faz uma nova requisição, ele somente usa o que já foi baixado, ou seja, o usuário não vai conseguir interagir com a página.

    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    terça-feira, 2 de outubro de 2012 16:19
  • Tem como eu matar isso Murilo, impedir que o browser guarde isso??
    terça-feira, 2 de outubro de 2012 16:23
  • Achei esse link http://www.codeproject.com/Tips/135121/Browser-back-button-issue-after-logout.

    Acho que vai resolver.


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    • Marcado como Resposta juninhoflg terça-feira, 2 de outubro de 2012 17:08
    • Não Marcado como Resposta juninhoflg terça-feira, 2 de outubro de 2012 17:09
    • Marcado como Resposta juninhoflg terça-feira, 2 de outubro de 2012 17:09
    terça-feira, 2 de outubro de 2012 16:28
  • Realmente, se você clicar no botão voltar, pro usuário vai ser como se ele estivesse logado, mas na primeira requisição que for feita ao servidor ele vai ser direcionado para a página de login. Quando o usuário faz o logoff tenta registrar esse javascript:

    document.execCommand('ClearAuthenticationCache')

    terça-feira, 2 de outubro de 2012 16:31
  • Você não pode votar em sua própria postagem
    0

    Ja funcionou galera 

    ficou assim o meu page load da master page

                if (!IsPostBack)
                {
                    Response.Cache.SetCacheability(HttpCacheability.NoCache);
                    Response.Cache.SetExpires(DateTime.UtcNow.AddHours(-1));
                    Response.Cache.SetNoStore();
                    if (Session["Login"] == null)
                    {
                        Response.Redirect("login.aspx");
                    }
                }

                if (eLogin == null)
                    Response.Redirect("login.aspx");
                else
                    lblUsuarioLogado.Text = eLogin.Nome;

    e no logoff ficou assim

            {

                Session.Clear(); ;
                Session["Login"] = null;

                Response.Redirect("login.aspx");
            }
    terça-feira, 2 de outubro de 2012 17:08
  • Show :)

    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    terça-feira, 2 de outubro de 2012 17:28