如何基于用户数据的一些哈希生成自定义JSESSIONID以便复制会话

时间:2010-05-14 11:51:23

标签: java session amazon-ec2 tomcat6 jsessionid

是否可以覆盖Tomcat的JSESSIONID嵌入式生成器,以便能够根据用户的登录名创建此cookie的自定义值?

为什么我需要这个:我有一个带有“粘性会话”的负载均衡器,配置为使用相同的JSESSIONID将请求路由到同一个服务器,我想防止情况,当同一个用户可以在不同的时间启动两个不同的会话服务器

P.S:所有这些都与Amazon EC2相关

2 个答案:

答案 0 :(得分:3)

有一种更好的方法:[{3}}

答案 1 :(得分:1)

您可以通过定义自己的自定义会话管理器

来实现

http://tomcat.apache.org/tomcat-5.5-doc/config/manager.html

但是,它可能不适用于您的用例。在用户登录之前您不知道用户名,但需要为登录创建会话。

我认为将会话推送到后端是最好的方法。您可以使用随Tomcat一起分发的JDBCStore会话管理器。您还可以找到memecached的实现。

如果多个服务器的目的是用于冗余,您也可以使用群集,但如果您的目标是扩展负载,则无法帮助您。