【发布时间】:2012-02-22 09:55:12
【问题描述】:
成功登录后,我想保存一个包含用户名的 cookie。
cookie 正确保存并正确加载用户名但丢失会话!
获取用户名的代码是:
if (Request.Cookies["userName"] != null)
{
txtEmail.Text = Request.Cookies["username"].Value;
chkRemember.Checked = true;
}
保存用户名的代码是:
HttpCookie aCookie = new HttpCookie("username");
aCookie.Value = txtEmail.Text;
aCookie.Expires = DateTime.Now.AddYears(5);
Response.Cookies.Add(aCookie);
任何帮助将不胜感激,谢谢
【问题讨论】:
-
会话是什么意思? ASP.NET 会话?还是形成身份验证会话?另外,您正在执行哪些操作?您是否正在关闭浏览器?
-
从登录表单导航到下一个表单时,正在重置 ASP.NET 会话。这只是在添加上面的代码之后。
-
上面的代码是在登录表单中,还是在其他地方?
-
您如何看到正在重置 ASP.NET 会话?您是否获得了新的 SessionID 或者您通过 Session["YourKey"] 存储的值消失了?我认为您混淆了 Asp.net 会话,并且真的在谈论不再登录。
-
@MalcolmFrexner 未使用 .Net 安全性,一旦保存 cookie 并使用 response.redirect 导航到同一 web 应用程序中的下一个表单,会话 ["mykey"] 变量都已消失。
标签: c# asp.net session cookies