多个浏览器实例是否在同一会话中运行

时间:2013-10-22 02:07:32

标签: java session servlets cookies

我需要将单独的浏览器会话合并为一个。请仔细阅读我,我知道来自同一浏览器实例的多个标签或窗口会自动执行。但是,我有相同浏览器的单独实例,它们共享相同的总统会话池。这意味着如果我强制执行会话cookie持久性选项,则任务会自动解决。但是,没有多少App Server支持该选项。像WebSphere这样的一些服务器提供了一个记住我的选项,但它设置了一个信任有限的持久cookie,因此可以提示用户输入登录信息。所以我需要一些推动思想。我现在可以看到一种方法

  1. 当用户从一个实例签名时,会建立一些持久cookie来保留一些令牌。
  2. 令牌是某些包含会话对象的单一地图中的键
  3. 任何请求会话但未获取会话的servlet代码,可以检查cookie并使用令牌从会话映射中获取会话
  4. 会话侦听器从extirpation的会话映射中删除会话
  5. 我需要你的意见

    1. 可能存在的安全问题
    2. 可能的资源泄漏
    3. 群集中解决方案的扩展 感谢您的任何想法,但请不要试图说服我,我没有用例。如果你想知道用例,请私下给我发电子邮件。

1 个答案:

答案 0 :(得分:0)

  1. 如果使用服务器上的密钥和一些不可重复的会话标识符为用户会话加密cookie数据,那么您只需要担心可以使用ssl缓解的“中间人”。 / p>

  2. 我不认为这是一个问题,因为您说您的服务器会话有一个滑动过期,并且您的服务器应该在到期时回收资源。

  3. 除非您使用某些后备存储来支持粘性会话持久性,否则用户的会话将在故障转移期间丢失。

  4. 另外,请记住,您的身份验证Cookie仅适用于颁发它的域。