一个点击打印产生新jsessionid的问题 - 润乾报表

现象:

客户的环境是win+weblogic10.3.2,使用ssh框架,登陆客户的系统后,展现、导出等功能多正常,点击打印按钮后,能出现预览窗口,再进行其他操作就会自动跳转到登陆界面。

使用HTTPAnalyzer检查出,cookie发生变化:

登陆后的cookie:
Cookie Name Value 
JSESSPPADP fMQpTqmPVQBNSkssZ0zVMvyqKlG0yMvXGMQfbXLJxCQMnn6v82fM!1588576729

点击打印链接: 
Request Headers Value 
(Request-Line) GET /adp/reportServlet?action=1&fileName=LS/LS001_view.raq&srcType=file&paramString=bbglnm%3DB533D1DCD5A49BE28868AE1720B437CB%3Bbbsj%3D2011%3Bjgdm%3D000000000000000 HTTP/1.1

点击打印后的cookie:
Set-Cookie Name Value Path Domain Expires 
JSESSPPADP n4HGTqnBKM55NjBQc9DVHf9nygpvLxs4sHyQbndYQGjgXfDM16vp!1588576729

解决办法:

在weblogic.xml中做如下配置便可:

Xml代码:

<session-descriptor>

<cookie-http-only>false</cookie-http-only>

</session-descriptor>

问题分析:

这个问题的确是由于weblogic10.3.2对session的安全管理级别上的特殊性导致,即缺省设置了<cookie- http-only>true</cookie-http-only>。由于这个安全级别导致脚本里或者插件里的请求无法发送 cookie也给服务器,服务器没收到sessionid便重新生成了一个新的ID将原有ID覆盖。造成一些特殊请求session被覆盖丢失的现象。

cookie-http-only

true

Specifies whether HttpOnly cookies are enabled. When this element is set to true, all session cookies would be unavailable to the browser scripts. The default value is true. Therefore, HttpOnly cookies are enabled by default.

weblogic10.3.2缺省值为true,修改这个参数必须升级到weblogic9.2(mp4)及以上版本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值