Мы запускаем веб-приложение BIRT 3.7.2 Viewer на встроенном сервере Jetty в нашем приложении, и по юридическим причинам нам не разрешено редактировать файл war самостоятельно.
Мы хотим отключить некоторые параметры в средстве просмотра, такие как печать на стороне сервера и возможность повторного запуска отчета.
Печать была достаточно простой, достаточно просто использовать дескриптор переопределения, чтобы переопределить web.xml и установить свойство BIRT, которое его отключает.
Однако повторный запуск оказывается сложнее. У нас есть несколько обработчиков Jetty, обертывающих WebApp, и мы сначала подумали попытаться отфильтровать запрос, содержащий команду повторного запуска, но проблема в том, что он кажется идентичным запросу просмотра.
При первой визуализации отчета с помощью средства просмотра 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 нет ничего, что объясняло бы, почему он обрабатывается по-разному (например, повторный запуск отчета, а не просто его рендеринг).
Любая помощь будет принята с благодарностью.
Спасибо,
Роб