我有Jasper Reports Server(安装在www.example.com上)和一个单独的Java / JSP应用程序(安装在www.example.net上),我正在寻找不同的选项来生成报告。
选项1(当前工作解决方案)
我当前的工作解决方案是用户登录Java / JSP应用程序,并选择一个报告。应用程序创建报告的XML表示形式,并将其保存为fileNameXML
,然后使用以下代码将其发送到Jasper Reports Server:
<IFRAME height="600" width="1000" src="https://www.example.com/jasperserver/flow.html?
_flowId=viewReportFlow&standAlone=true&_flowId=viewReportFlow&
ParentFolderUri=%2Freports&
reportUnit=%2Freports%2FExample_Report_2&j_username=user&
j_password=password&
net.sf.jasperreports.xml.source=https://www.example.net/<%=fileNameXML%>">
</IFRAME>
(请注意,即使我在URL中传递用户名和密码,安全性也不会受到影响,因为filenameXML是使用String fileName = UUID.randomUUID().toString() + fileExt;
创建的)
选项2
我将Jasper Reports服务器直接连接到www.example.net上的SQL Server数据库,并以此方式生成报告。这种方法的缺点是(a)我需要在Jasper Reports中设置所有用户(b)我需要以安全意识的方式传递参数,以便每个用户只能访问他们自己的数据(c)我只能访问数据库,而不能访问我的应用程序的计算
我的理想解决方案
但是我真的希望能够通过Jasper访问我的应用程序的计算,并绕过登录到我的应用程序。
这样做的一个优点是我的应用程序还没有适当的移动访问权限,用户可以下载Jasper Mobile Application应用程序并从那里访问报告。
这将涉及以下内容:
实现这一目标的最佳方式是什么?
答案 0 :(得分:0)
我认为最好的办法是:
有很多方法可以给这只猫上皮。让我知道您正在使用的技术,也许我们可以从那里开始。我们已经实现了您现在的要求。
谢谢。