Выход из системы в c # не работает - PullRequest
0 голосов
/ 07 октября 2011

У меня ниже код для выхода из системы.когда он выходит из системы, но при нажатии назад он не должен переходить на ранее посещенную страницу, но он делает это.

// при входе в систему

if (txtPassword.Text == password)
                {
                    Session["Login"] = true;
                    Response.Redirect("AdminControlPanel.aspx");
                }

// при выходе из системы

Session["Login"] = false;
            Session.Abandon();
            FormsAuthentication.SignOut();
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
            Response.Cache.SetAllowResponseInBrowserHistory(false);
            Response.Redirect("~/index.aspx");

// проверка на adminpanel.aspx

if (!this.Page.IsPostBack)
            {
                if (this.Session["Login"]==null || (bool)this.Session["Login"]==false)
                {
                   base.Response.Redirect("~/index.aspx");
                }
            }

что с этим не так?

Ответы [ 2 ]

3 голосов
/ 07 октября 2011

Попробуйте установить Cache-Control .

Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetAllowResponseInBrowserHistory(false);
0 голосов
/ 07 октября 2011

Может возникнуть проблема при назначении значения переменной session

, установить точку останова в if (txtPassword.Text == password) и проверить, что произойдет.

также

if (!this.Page.IsPostBack)
            {            
             if (!string.IsNullOrEmpty((string) Session["Login"]))
             {
                  var result = Convert.ToBoolean(Session["Login"]); //put a break point there also and check what values it getting
              }


            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...