0

我正在使用在 Redis 服务器上运行的 rails 应用程序。我在 Apache Tomcat 服务器上也有 BIRT(商业智能和报告工具)报告,以生成托管在 Tomcat 服务器上的报告。当用户通过 Redis 服务器登录到 rails 应用程序时,就完成了身份验证。但是,Tomcat 服务器无需额外的身份验证即可查看报告。

我不希望用户看到报告的 URL。我正在使用 iFrames 向用户显示报告,因为这会阻止用户看到 URL。但是用户可以使用 Inspect Element / Firebug 来获取报告的 URL 并在没有任何身份验证的情况下单独访问它,这违背了使用 iFrame 的目的。

  1. 用户查看报告时是否可以提供身份验证?

  2. 是否可以隐藏/屏蔽 URL,使其无法通过 Inspect 元素/Firebug 访问,因此也无法单独访问报告。

请在这方面帮助我。

4

1 回答 1

0
  1. 这个问题Parameters with Connection Profile说明了如何使用属性绑定在报告运行时从参数中获取用户ID 和密码(它继续提出一个更难的问题)。如果没有此用户输入,Tomcat 将不会“知道”这些值。

  2. 我假设您想隐藏/屏蔽 URL,因为在默认的 Tomcat 设置服务器和端口信息中显示。您可以使用 DNS 命名更改/方向来隐藏 URL。

用户使用类似的链接

http://reports.YOU.com/run?__report=T_im_ByID.rptdesign

并从

http://server01:8080/Birt/run?__report=T_im_ByID.rptdesign

我不肯定没有办法绕过 DNS 更改,但是当我通过 firebug 运行 BIRT 报告时,我只看到“reports.YOU.com”

于 2013-03-19T15:21:05.883 回答