【问题标题】:Session timeout kills "Remember Me" cookie in aspnet database会话超时杀死 aspnet 数据库中的“记住我”cookie
【发布时间】:2012-10-03 19:30:45
【问题描述】:

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

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。

【问题讨论】:

  • 我认为在大多数应用程序中,当用户注销时,“记住我”cookie 会被删除 - 这是预期的行为,对我来说也是合乎逻辑的行为。
  • 我也这么认为,但我找不到任何文件来证实这一点。 (或者与之相矛盾。)

标签: session sitecore sitecore6 remember-me aspnetdb


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-19
      • 1970-01-01
      • 2013-02-20
      • 2011-01-13
      • 2018-03-16
      • 1970-01-01
      • 2011-12-19
      • 1970-01-01
      相关资源
      最近更新 更多