Perché il valore della variabile di sessione rimangono anche dopo tutto il codice di distruzione?

StackOverflow https://stackoverflow.com/questions/4176108

Domanda

login.aspx

if (IsPostBack == false)
    {
        //destroy any login information
        Session["password"] = "false";
        Session["login"] = "false";
        Session.Abandon();
        Session.RemoveAll();
    }

    if (TextBox2.Text == main_password)
        {//then he is website server admin

            Session["password"] = "password";
            Session["login"] = "true";
            Response.Redirect("~/TABLE.aspx");

        }

table.aspx

    //checking if website server admin
    if ("password" == (string)Session["password"])
    {
        link_logout.Enabled = true;

    }//if ends
    else
    {//not authorized
        Response.Redirect("~/Identify.aspx");
    }//else ends

quando clicco sul link di logout

  • della pagina di login viene caricato, provocando la distruzione di tutti gli stati di sessione.
  • nella pagina di accesso a conferma che quando uso response.write per visualizzare i valori delle variabili di sessione.
  • quando do il nome utente e la password e fare clic su di login, reindirizza alla pagina di tabella.
  • quando clicco logout, si reindirizza alla pagina di accesso e la pagina di login distrugge informazioni.

Problema

  • dopo le informazioni di login distrutto, allora io scatto collegamento tavolo si va alla pagina tavolo, come dice NO NO e reindirizza alla pagina di login.
  • MA se copio incollare l'URL della pagina da tavolo, allora non importa quello che faccio, mi permette di visualizzare la pagina. Cioè ci vuole il valore della variabile di sessione e evalutes TRUE, anche quando sono stati distrutti i valori.

Non riesco a usare le funzioni di asp.net d'accesso, i miei limiti non mi permettono di utilizzare tale controllo.

È stato utile?

Soluzione

Si sta vedendo una versione in cache della pagina nel browser.

Se si preme CTRL + F5, dovrebbe andare via.

Altri suggerimenti

Fare link_logout un LinkButton, mettere un onclick alla pagina, e nel onclick rimuovere le variabili di sessione. Poi fare un redirect risposta del server.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top