birt跨域session失效问题

至于为何使用BIRT我想在这里也不用过多说明了,公司从去年末(2013年)开始引入了BIRT,使用过程当中也比较顺利,对于技术人员也比较容易上手。
浏览器

使用BIRT作的第一个主要工做就是将原有项目中的报表分离为独立的服务(原有项目历时时间较久,且项目很大,各种报表有近百张,全是经过累代码的方式处理的,其实这个项目是作业务处理的,只不过也有报表要求,如此多的功能叠加给系统形成了极大的压力)。安全

报表顺利开发完成,但是部署时遇到了麻烦,因为项目很大,现场是使用集群部署的(4台WEB),本打算单独部署一个BIRT服务器用于报表展现,业务系统的4台WEB直接访问BIRT服务器,此时就出现了使人讨厌的服务器

The viewing session is not available or has expiredcookie

“聪明的”技术人员查阅了一些资料后肯定此问题为BIRT的BUG,将BIRT服务与项目服务部署在一块儿便可解决,这个方案固然会受到现场运维人员的极力反对,此后一度陷入僵局,技术人员没法解决,现场人员不肯意按此部署。
session

    按照经验,session无效或者过时通常都是客户端设置问题,好比安全级别、隐私设置等等,因而去瞄了一眼,发现浏览器确实报错了:
运维

    

    果真是cookie设置问题!cookie禁用致使session无效,容许会话cookie,设置完就能够访问了:网站

坑爹啊,耗了一周了呀!
spa

固然了,咱们项目是企业内部使用,还能够控制用户的浏览器,可是若是是公网访问,没法控制用户浏览器怎么办呢?开发

查了BIRT相关的网站,这确实是个BUG,主要缘由就是访问服务器只有经过IP访问致使的!(内网不都是这么干的么),公网访问想解决此问题也简单,将IP改成域名就行了!部署

不知道BIRT何时会修复此BUG,不过至少目前内、外网都能解决,解不解决也不应关心了(也行BIRT的研发团队也是这么想的)

相关文章
相关标签/搜索