【问题标题】:Asp.net session gets retained even when new browser instance is created即使创建了新的浏览器实例,也会保留 Asp.net 会话
【发布时间】:2012-03-16 07:35:27
【问题描述】:

我在会话管理方面遇到问题。这就是我所做的。

  1. 我创建了一个新的浏览器实例并访问了我开发的生产站点。
  2. 它要求我登录,我登录了
  3. 我去了一个页面,看到了。
  4. 我再次使用了一个新的浏览器实例(不是文件-> 新窗口)。我从开始菜单中获取
  5. 复制并粘贴了内页的 URL
  6. 这次不是直接显示登录页面,而是直接显示页面

不知何故,即使我将它分开,它也会在两个浏览器实例之间共享会话。我的 IIS 版本是 7.5,在 Windows 2008 R2 64 位上运行。

当我使用 Visual Studio 开发 Web 服务器在本地机器中尝试相同的情况时,它工作正常。它显示登录。

如果有人遇到同样的问题,请帮助我。

谢谢

【问题讨论】:

    标签: asp.net session


    【解决方案1】:

    也许您的网站设置为使用cookieless sessions。如果是这种情况,您会在主机名之后看到嵌入在站点 URL 中的会话 ID。无 cookie 会话的缺点之一是复制的 URL 将授予对当前用户会话的访问权限。

    另一种可能是浏览器配置错误,其中 浏览器 的新会话正在共享会话 cookie,即使您不希望它们这样做。你用的是什么浏览器?

    【讨论】:

      【解决方案2】:

      我在 IE8 中看到了这种情况 - 我通过使用 File -> New Session 打开一个新浏览器来解决它

      【讨论】:

        【解决方案3】:

        您是否缺少步骤 4a:关闭当前浏览器?

        另外,它真的是共享 SESSION,还是只是登录 cookie?差别很大!

        【讨论】:

          【解决方案4】:

          会话使用 cookie,默认情况下 cookie 在浏览器的所有实例之间共享。

          如果你想要一个不同的会话,在 IE8+ 中你可以运行 File --> New Session 来打开一个不与其他窗口共享会话 cookie 的窗口。

          或者,使用不同的浏览器,因为 cookie 不会在浏览器之间共享。

          要么这样,要么切换到无 cookie 会话(糟糕!)

          【讨论】:

          • -1 此评论不是很有帮助...使用不同的浏览器并不能真正解决上述问题。
          猜你喜欢
          • 2013-07-22
          • 2021-08-19
          • 2011-04-10
          • 2016-05-20
          • 1970-01-01
          • 1970-01-01
          • 2012-04-06
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多