Файлы cookie и сессия в asp.net, как удалить их после нажатия кнопки «Выйти» - PullRequest
1 голос
/ 17 августа 2011

Я создаю cookie и сеанс

if (ValidateUser(txtUserName.Value,txtUserPass.Value) )
        {
            //string useremail = Convert.ToString(txtUserName.Value);
            Session.Add("useremail", txtUserName.Value);
            FormsAuthenticationTicket tkt;
            string cookiestr;
            HttpCookie ck;
            tkt = new FormsAuthenticationTicket(1, txtUserName.Value, DateTime.Now, 
            DateTime.Now.AddMinutes(30), chkPersistCookie.Checked, "your custom data");
            cookiestr = FormsAuthentication.Encrypt(tkt);
            ck = new HttpCookie(FormsAuthentication.FormsCookieName, cookiestr);
            if (chkPersistCookie.Checked)
            ck.Expires=tkt.Expiration;  
            ck.Path = FormsAuthentication.FormsCookiePath; 
            Response.Cookies.Add(ck);
        }

Я использую этот код для удаления cookie

 protected void SignOut_Click(object sender, EventArgs e)
    {
if (Request.Cookies[FormsAuthentication.FormsCookieName] != null)
        {
            HttpCookie myCookie = new HttpCookie(FormsAuthentication.FormsCookieName);
            myCookie.Expires = DateTime.Now.AddDays(-1d);
            Response.Cookies.Add(myCookie);
            Response.Redirect("Home.aspx");   
        }

   }     

, но файл cookie все еще есть, и я могу видетьстраницу user.aspx после того, как я выйду.как выйти, и я должен также удалить значение в сеансе, если так, как это сделать

Спасибо

Ответы [ 2 ]

2 голосов
/ 17 августа 2011

Попробуйте

1002 *
0 голосов
/ 17 августа 2011

Когда вы выходите из системы, лучше всего завершить текущий сеанс, используя Session.Abandon(). Это обеспечит отсутствие утечки информации о сеансе.

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