我们正在应用程序的嵌入式 Jetty 服务器中启动 BIRT 3.7.2 Viewer Webapp,出于法律原因,我们不允许自己编辑 war 文件。
我们希望禁用查看器中的一些选项,例如服务器端打印和重新运行报告的能力。
打印很简单,只需使用覆盖描述符覆盖 web.xml 并设置禁用它的 BIRT 属性。
然而,重新运行被证明更加困难。我们有几个包装 WebApp 的 Jetty 处理程序,我们首先考虑尝试过滤包含重新运行命令的请求,但问题是它似乎与查看请求相同。
首次使用 BIRT 查看器呈现报告时,Jetty 网络服务器中会记录三个必要的请求:
/birt/frameset?__document=hello_world.rptdocument
- GET 请求
/birt/webcontent/birt/pages/common/processing.jsp?__rtl=false
- GET 请求
/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 查看器的日志中似乎没有任何内容可以解释为什么对它进行不同的处理(即重新运行报告而不是仅仅呈现它)。
任何帮助将不胜感激。
谢谢,
抢