Tomcat实现多域名之间session共享

  最近启用二级域名后,面临一个主域名与二级域名之间 session 不能共享的问题,带来的麻烦就是用户在主域名登陆,但由于二级域名 session 不能共享 ,因此无法进行登陆的操作,对一些功能有一些影响。

问题的原因如下:

Tomcat 下,不同的二级域名,Session 默认是不共享的,因为 Cookie 名称为 JSESSIONID 的 Cookie 根域是默认是没设置的,访问不同的二级域名,其 Cookie 就重新生成,而 session 就是根据这个 Cookie 来生成的,所以在不同的二级域名下生成的 Session 也不一样。

找到了其原因,就可根据这个原因对 Tomcat 在生成 Session 时进行相应的修改。

 

快速解决方案1:

在项目的/MET-INF/ 目录下创建一个 context.xml 文件,内容为:

<?xml version="1.0" encoding="UTF-8"?> 

<Context useHttpOnly="true" sessionCookiePath="/"sessionCookieDomain=".XXXX.com" />

Done!

 

快速解决方案2:修改 Tomcat 的 server.xml 文件,内容为:

<Context path="" docBase="ROOT" reloadable="false"

 useHttpOnly="true"sessionCookiePath="/" sessionCookieDomain=".XXXX.com" />

Done!

 

以上两种方案的详细讲解见:http://tomcat.apache.org/tomcat-6.0-doc/config/context.html

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值