JSP的可靠会话机制

时间:2012-06-21 06:38:11

标签: spring jsp session servlets

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

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

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

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

1 个答案:

答案 0 :(得分:0)

标准CookiesURL RewritingSSL Session ID是处理会话的最佳标准方式。

是的,如果你可以找出一些Unique id from a given request,你绝对可以使用自定义方式处理会话。您可以仅从以下请求参数之一推断出唯一ID:

  • 请求网址:网址重写。标准的最佳方式。
  • 标题:这不可能。客户端无法发送自定义标头
  • 远程套接字地址:这又是完美的,因为它们之间有代理。
  • Cookies:标准的最佳方式。
  • 隐藏表单字段:这仅适用于POST请求。