记住我在 C# 中的持久性 Cookie
Posted
技术标签:
【中文标题】记住我在 C# 中的持久性 Cookie【英文标题】:Remember me Persistent Cookie in C# 【发布时间】:2013-02-12 10:12:37 【问题描述】:我正在 asp.net 中做一个项目,并试图做记住我的系统。我想要做的是存储用户的 ID,它是 cookie 中的唯一标识符。但是即使我将其生命周期设置为一年,该 cookie 也只能持续一天。每天早上我都必须登录网站,cookie 会被清除。
HttpCookie userid = new HttpCookie("mb_login_userid", dr["UserId"].ToString().Trim());
userid.Expires.AddYears(1);
Response.Cookies.Add(userid);
我在这段代码运行后检查了cookie,它说它不是持久cookie,它是会话cookie。所以每天都会清零。
我该怎么做才能让它持久化
【问题讨论】:
【参考方案1】:Response.Cookies("userid").Expires = DateTime.Now.AddYears(1)
或
userid.Expires = DateTime.Now.AddYears(1)
【讨论】:
【参考方案2】:试试这个代码...这是创建持久 cookie 的代码
HttpCookie userid = new HttpCookie("userid");
userid.Values.add("mb_login_userid", dr["UserId"].ToString().Trim());
userid.Expires=DateTime.Now.AddDays(30);
Response.Cookies.Add(userid);
【讨论】:
以上是关于记住我在 C# 中的持久性 Cookie的主要内容,如果未能解决你的问题,请参考以下文章
FormsAuthentication 的持久 cookie 超时