我处理会话很不方便..
我有这个:
www.mydomain.com
sub1.mydomain.com
sub2.mydomain.com
sub3.mydomain.com
当我登录“www”时,我改为“sub2”(例如)I 弄清楚它会创建另一个会话:S 为什么会这样?
我需要为www,sub1,sub2,sub3等进行相同的会话.. ALL in “mydomain.com” ..
我该怎么办?是这样的,我必须做一个把戏?或是 我想要的是“合法”的解决方案吗?
答案 0 :(得分:4)
JSESSIONID cookie由容器发布,cookie域和路径始终是Web应用程序的域和上下文根的。
看起来好像你有多个应用程序,在这种情况下,由于域或上下文根中的更改,一个应用程序发出的JSESSIONID将无法被另一个应用程序识别,即使这些应用程序位于同一个容器中
有多种方法可以解决这个问题:
<强>更新强>:
Glassfish v3允许您为会话cookie设置域。这是通过session-config element in sun-web.xml完成的。我不确定这是否适用于v2或更低版本的Glassfish。
答案 1 :(得分:1)
是的,就像那样,因为你将为每个不同的域提供单独的会话cookie。你使用哪个Web服务器?您可以实施与SSO相关的解决方案,以跨域共享数据。
答案 2 :(得分:0)
查看本教程:http://javadude.wordpress.com/2011/05/12/glassfish-3-1-%e2%80%93-clustering-tutorial-part2-sessions/ 我总结了Glassfish 3.1和会话复制的所有步骤