1

我们在 JSP 中实现一个好的会话机制时遇到了麻烦。我们的要求之一是每个用户只允许一个会话,并且不允许打开另一个覆盖前一个的会话。这意味着我们需要一个非常可靠的会话系统,因为丢失会话意味着等待会话超时......我们对 servlet 提供的所有会话机制存在问题:

  • 网址重写:一切正常,但是......它避免了我们做缓存的东西(mod_pagespeed 无法合并文件;我们正在使用 CDN......)
  • Cookies:当然,我们有一些客户端会阻止 cookie...
  • https Id : 不可靠,如果重置连接,则会话丢失。某些浏览器会自动重新初始化连接。如果您在移动时使用该网站(例如,从您在街上的手机),您的连接将根据地点而改变。

完美的解决方案是使用 Rewrite+Cookie 并停用资源的重写。知道我们必须使用 c:url 标签,因为我们的应用程序将安装在多个域上。

关于完美会话机制的任何想法?

4

1 回答 1

0

标准Cookies,URL RewritingSSL Session ID是处理会话的最佳标准方法。

是的,如果你能找出一些Unique id from a given request. 您只能从以下请求参数之一推断出唯一 id:

  • 请求 URL:URL 重写。标准的最佳方式。
  • 标头:这不可能。客户端无法发送自定义标头
  • 远程套接字地址:这又是完美的,因为中间有代理。
  • Cookies:标准的最佳方式。
  • 隐藏表单字段:这仅适用于 POST 请求。
于 2012-06-21T07:28:22.563 回答