【发布时间】:2011-10-28 19:28:09
【问题描述】:
我正在创建一个 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 页面。如何退出,如果是的话,我是否还应该删除会话中的值怎么做
谢谢
【问题讨论】:
-
我认为这是您问题的解决方案:stackoverflow.com/a/51551957/3649347
标签: c# asp.net session cookies