记住我在 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 超时

PHP登录系统:记住我(持久cookie)[重复]

拒绝访问持久性 cookie

Firefox不允许我使用FormsAuthentication设置持久性cookie

使用 python 烧瓶设置持久 cookie

经典 ASP 中的持久 Cookie