【问题标题】:Session variable is lost when Firefox browser is closedFirefox 浏览器关闭时会话变量丢失
【发布时间】:2015-10-20 07:30:07
【问题描述】:

我有一个小问题。我有一个登录网站,我只允许用户登录一次。我在 StackoverFlow 的帮助下实现了这一点。参考这个:stackoverflow link

这是关于它的简介:当用户登录时,我正在向会话变量和应用程序变量添加一个值。当用户再次尝试登录时,我会检查会话以及应用程序变量,如果它不存在,那么我允许用户登录。这在 chrome 中运行良好,但在 Firefox 和 IE 中出现了一些问题。在 Chrome 中,即使浏览器关闭并再次打开,我仍然可以获得保存的会话变量。但在 IE 和 firefox 的情况下,我不能这样做。当用户关闭浏览器并再次打开时,我的会话变量变为空白。

即使在用户关闭浏览器后,我如何保存我的会话变量?和sessionState有关系吗?

【问题讨论】:

  • Chrome 有一个“从上次中断的地方继续”重启选项,可以保留会话 cookie;你不应该依赖这个。
  • 感谢大家的快速回复。因此,如果我不能依赖它,那么即使浏览器关闭,是否有任何 asp.net 变量可以保持其值?
  • Forms Authentication 使用持久 cookie
  • 能否提供有关如何使用表单身份验证的链接.. 我以前从未使用过它

标签: asp.net session session-variables session-state


【解决方案1】:

这在 chrome 中运行良好,但在 Firefox 和 IE 中出现了一些问题。

这是因为 Chrome 会保留会话信息。此功能未添加到我知道的其他浏览器中。由于此功能不是文档化标准,因此您不能依赖它。

相反,您应该设置一个包含令牌和到期日期的 cookie。尝试登录用户时可以读取该 cookie。

How can I manually create a authentication cookie instead of the default method? 的帖子可能对您有用,因为您使用的是 ASP.NET。

【讨论】:

    猜你喜欢
    • 2011-04-11
    • 2013-05-09
    • 2011-11-29
    • 1970-01-01
    • 2013-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-23
    相关资源
    最近更新 更多