【问题标题】:SQL Server Storing session state seems not to be working?SQL Server 存储会话状态似乎不起作用?
【发布时间】:2011-11-15 14:17:52
【问题描述】:

我已将 SQL Server 配置为存储会话状态 (from here)。

我要做的就是当用户通过浏览器 A 登录我的应用程序时,当我从浏览器 B 访问我的应用程序时,我会看到记录的会话。

现在这个方案不行,我必须再登录一次。

【问题讨论】:

  • 这不是 SQL Server 会话状态的目的 - 它允许多个 Web 服务器为同一个用户提供服务。如果您希望多个浏览器会话共享同一个“会话”,那么您必须构建它。

标签: asp.net sql-server session-state


【解决方案1】:

当浏览器 B 打开时(假设它是完全不同的浏览器或同一浏览器的新实例),会创建一个新会话;因此,您看到的是预期行为。

另外,我假设您提到这一点是因为您在会话中存储了某种表示用户已成功登录的密钥,对吗?

如果您想要这种行为,您需要发送某种具有较长过期日期的身份验证 cookie,然后您会在登录页面上读取 cookie 并认为用户已成功通过身份验证,但请记住这是一个潜在的安全风险。

【讨论】:

  • @Tony:稍微扩展一下:会话不是每个用户或每个机器;这是每个浏览器实例。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-04
  • 1970-01-01
  • 1970-01-01
  • 2013-01-31
  • 2018-09-08
  • 2011-05-22
  • 1970-01-01
相关资源
最近更新 更多