繁体   English   中英

是否有任何成熟的基于Cookie的HttpSession实现?

[英]Are there any mature Cookie based HttpSession implementations?

我想在serlvet容器中使用基于cookie的HttpSession。 所有会话数据都应存储在cookie中。 在servlet应用程序中这似乎并不常见。 Rails(Session)Playframework(Session)中 ,这种会话处理是默认的。 为什么这如此罕见?

具体来说,我需要一个JBoss EAP6解决方案(没有会话作用域的bean)。 我发现了两种基于Serlvet过滤器的实现:

您知道其他选择吗?

(如果可能,我不想讨论一般的利弊)

在Java EE中,将会话数据持久保存在cookie中并不常见……因为HttpSession在所有servlet容器中都实现了。

在cookie持久会话中,您有大小限制,并且必须使用签名数据来避免对会话客户端的操作。 如果要在会话中保留敏感信息,则必须加密数据。 并且所有会话数据都与每个请求和响应交换。 HttpSession消除了这些限制。

Cookie持久会话的最大兴趣在于,您可以拥有一个可以响应任何请求的多个服务器场,因为该会话包含在请求中。 但这可以在Java EE中通过在反向代理级别使用粘性会话来完成(因为您在几乎每个重要的数据中心中都有反向代理):反向代理了解会话并将请求传递给持有该会话的服务器。

一些Java EE服务器甚至具有共享会话的概念。

恕我直言,在Java中实现cookie持久性会话不是很困难,只是对于专业用途而言,它的重要性还不够。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM