会话超时会杀死aspnet数据库中的“记住我”cookie

时间:2012-10-03 19:30:46

标签: session sitecore sitecore6 remember-me aspnetdb

我试图了解这是否有意义:

1. User logs in, checks "remember me" checkbox.
2. User logs out.
3. User comes back and is automatically logged in.

基本上,这正是您期望发生的事情。这意味着它正在运作。这里有点奇怪:

1. User logs in, checks "remember me" checkbox. (Or logs in using remember me.)
2. User is inactive for over 20 minutes, so the session times out.
3. User clicks a link and is sent to the sign in page.  
4. User closes browser, then opens again.  They are taken to the sign in page.

当用户的会话由于不活动而到期时,似乎关闭了“记住我”。我试图在文档中找到关于这个的东西,但无济于事。如果这是预期的行为那么这很酷,但我想确认一下。

我们正在使用Sitecore.Security.Authentication管理器来设置cookie。

2 个答案:

答案 0 :(得分:1)

根据我的经验,“记住我”功能从未正常工作.. 似乎是一个永远存在的错误。 我通常只是让我的浏览器存储Sitecore的登录信息,如果它太难记住了。

答案 1 :(得分:1)

首先,重要的是要知道即使是“remember-me”令牌也有验证:“cookie”在一段时间后过期,并且它是可配置的,即使它具有默认值。您需要检查默认值。

其次,由于单点注销,“记住我”cookie假设在注销后被删除(正如@adam在他的评论中所述)。 请记住,我会记住跨会话的用户,但如果他退出则不会。可以这样想:如果您有Facebook或Google帐户,并在点击“记住我”后登录。然后你注销,然后再回来。您将再次被要求提供凭证! (如果不是您试图登录?您是否希望Facebook即使在您退出后也能记住您?)

记住我的实际用途是:您登录网站,然后关闭浏览器(无需注销!),关闭浏览器即可“丢失”会话。当您重新打开浏览器时,您将获得一个新会话。然后记住我的工作:您将无需再次输入凭证即可访问该网站。