我正在创建一些“记住我”功能,作为登录的一部分。
当我在登录过程中使用以下内容创建持久性cookie时:
FormsAuthentication.SetAuthCookie("someusername", true);
我的Web.Config如下所示:
<authentication mode="Forms">
<forms loginUrl="~/sign-in" timeout="2880" />
</authentication>
在要求用户再次提供其登录详细信息之前,Cookie有效期有多长? 此外,是否/设置持久性cookie时使用的默认时间长度是什么?
答案 0 :(得分:17)
由于这篇文章,我找到了我正在寻找的答案:
他说:
在ASP.NET 2.0中,持久性和基于会话的超时值 Cookie由
上的超时属性控制<forms/>
元素
所以在我的例子中,持久cookie将在48小时后到期。
答案 1 :(得分:3)
timeout
模块中提及 authentication
:
<forms loginUrl="~/sign-in" timeout="2880" />
超时= “2880”的。这个2880值以分钟为单位给出。因此,如果你将2880除以60,你会得到 48小时,这是你问题的答案。用户必须在48小时到期后再次提供其登录凭据。
希望它有所帮助。
答案 2 :(得分:-2)
我相信持久性cookie无限期有效(除非用户当然清除其浏览器cookie)。 timeout属性只告诉表单身份验证保持会话活动的时间。
看看这里:
Cookie Confusion with FormsAuthentication.SetAuthCookie() Method