birt跨域session失效问题
至于为什么使用BIRT我想在这里也不用过多说明了,公司从去年底(2013年)开始引入了BIRT,使用过程中也比较顺利,对于技术人员也比较容易上手。 使用BIRT做的第一个主要工作就是将原有项目中的报表分离为独立的服务(原有项目历时时间较久,且项目很大,各类报表有近百张,全是通过累代码的方式处理的,其实这个项目是做业务处理的,只不过也有报表要求,如此多的功能叠加给系统造成了极大的压力)。 报表顺利开发完成,可是部署时遇到了麻烦,由于项目很大,现场是使用集群部署的(4台WEB),本打算单独部署一个BIRT服务器用于报表展示,业务系统的4台WEB直接访问BIRT服务器,此时就出现了令人讨厌的 The viewing session is not available or has expired “聪明的”技术人员查阅了一些资料后确定此问题为BIRT的BUG,将BIRT服务与项目服务部署在一起即可解决,这个方案当然会受到现场运维人员的极力反对,此后一度陷入僵局,技术人员无法解决,现场人员不愿意按此部署。 按照经验,session无效或者过期一般都是客户端设置问题,比如安全级别、隐私设置等等,于是去瞄了一眼,发现浏览器确实报错了: 果然是cookie设置问题!cookie禁用导致session无效,允许会话cookie,设置完就可以访问了: 坑爹啊,耗了一周了呀! 当然了