cookie覆盖问题

一、问题现象

最近在做手机触屏版的项目,部署完后发现一直让重复登录的问题,其中cookie中的JSESSIONID是不断变化的,也就是说发生了cookie覆盖的问题。


二、问题原因

由于触屏版通过调用pc端接口的方式获取数据的,而两者的域是相同的,只是端口不同,因此后者将前者的cookie覆盖了


三、问题解决

参考http://my.oschina.net/eastwmt/blog/151596


今天遇到个问题,登陆本系统,调用对方的一个链接(action),打开了一个新的浏览器窗口。然后回到我的网站,点击任何一个东西,都会回到登陆页面。

使用firefox看了下,在点击链接前和链接后的JSESSIONID是不同的

本页面:

调阅后的页面:

发现JSESSIONID的值变化了,而有些意外的是调阅地址的域竟然也是168.88.100.42.经过以下博文的查阅

http://www.cnblogs.com/ibook360/archive/2011/12/15/2288666.html

http://blog.shilimin.com/338.htm

找到了问题解决方案,在tomcat7的配置文件server.xml中修改JSESSIONID的名字,来解决冲突。

?
1
<Engine defaultHost="localhost" name="Catalina"><Context docBase="healthDocW3" path="/DocW3" reloadable="true" source="org.eclipse.jst.jee.server:DocW3" sessionCookiePath="/DocW3" sessionCookieName="JSESSIONID1"/></Host></Engine>

效果如下,原来的JSESSIONID被JSESSIONID1所代替 

 后来发现必须在启动后才能修改server.xml,故将其配置写入context.xml

?
1
<Context docBase="DocW3" path="/DocW3" reloadable="true" source="org.eclipse.jst.jee.server:DocW3" sessionCookiePath="/DocW3" sessionCookieName="JSESSIONID1">

 如果没有指定的项目可以配为

?
1
<Context  sessionCookiePath="/" sessionCookieName="JSESSIONID1">


  直接将server.xml中的修改即可,发现有两个了



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值