J'ai le code ci-dessous pour la déconnexion. quand il se déconnecte, mais quand le dos est pressé, il ne devrait pas aller à la page précédemment visitée, mais il le fait.La déconnexion dans C# ne fonctionne pas
// Une fois la connexion
if (txtPassword.Text == password)
{
Session["Login"] = true;
Response.Redirect("AdminControlPanel.aspx");
}
// lorsque fermeture de session
Session["Login"] = false;
Session.Abandon();
FormsAuthentication.SignOut();
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetAllowResponseInBrowserHistory(false);
Response.Redirect("~/index.aspx");
// vérification sur adminpanel.aspx
if (!this.Page.IsPostBack)
{
if (this.Session["Login"]==null || (bool)this.Session["Login"]==false)
{
base.Response.Redirect("~/index.aspx");
}
}
ce qui ne va pas avec cela?
Mettez un point d'arrêt sur et vérifier la valeur de la session [ "Connexion"]. –
duplicata possible? http://stackoverflow.com/questions/2686946/asp-net-authentication-login-and-logout-with-browser-back-button –
Il n'y a aucun moyen de contrôler la façon dont le navigateur, tous les intermédiaires entre et ainsi de suite loin gère un utilisateur en appuyant sur "retour". C'est probablement pourquoi tant de pages de déconnexion demande à l'utilisateur de fermer ensuite la fenêtre du navigateur. Le contrôle du cache peut être ou ne pas être correctement respecté par un nombre quelconque d'intermédiaires de la chaîne, tant que les données ont déjà été vues dans le navigateur, elles sont potentiellement dans une ou plusieurs caches en cours de route et peuvent être ressuscitées. –