【发布时间】:2013-07-12 00:26:59
【问题描述】:
我们正在应用程序的嵌入式 Jetty 服务器中启动 BIRT 3.7.2 Viewer Webapp,出于法律原因,我们不允许自己编辑 war 文件。
我们希望禁用查看器中的一些选项,例如服务器端打印和重新运行报告的功能。
打印很简单,只需使用覆盖描述符覆盖 web.xml 并设置禁用它的 BIRT 属性。
但事实证明,重新运行更加困难。我们有几个包装 WebApp 的 Jetty 处理程序,我们首先考虑尝试过滤包含重新运行命令的请求,但问题是它似乎与查看请求相同。
首次使用 BIRT 查看器呈现报告时,Jetty 网络服务器会记录三个必要的请求:
/birt/frameset?__document=hello_world.rptdocument - 获取请求
/birt/webcontent/birt/pages/common/processing.jsp?__rtl=false - 获取请求
/birt/frameset?__document=hello_world.rptdocument&__sessionId=20130710_161752_347 - POST 请求
当重新运行时:
/birt/frameset?__document=hello_world.rptdocument&__sessionId=20130710_161752_347- POST 请求
这使得过滤 URL 变得困难,因为请求对象看起来相同,并且在 Jetty 或 BIRT 查看器的日志中似乎没有任何内容可以解释为什么它被区别对待(即重新运行报告而不是仅仅呈现它)。
任何帮助将不胜感激。
谢谢,
罗伯
【问题讨论】: