1

如果我将一些 ID 从 Asp.net 应用程序传递到 SSRS 服务器以呈现报告 - 我如何确保最终用户不会读取/修改 ID?

我猜的一种方法是在 Asp.net 应用程序中使用 ReportViewer 控件并实现 SSL,但这是万无一失的吗?或者是他们在此类应用程序中实现安全性的更好/替代方法。

4

2 回答 2

1

出于安全目的,您可以执行三个级别:

  1. 将 SSRS 服务器上的默认端口更改为 80 以外的其他端口。例如:将其更改为 81,然后有人需要通过 http:// (servername):81/ReportServer 进行连接。使用不同的端口会使流量不在常见的 Internet 端口 80 上,这可能是隐藏使用情况的好方法。这还要求在托管此端口的服务器上,您在 Windows 防火墙设置下打开此端口以与此应用程序一起使用。

  2. 使用带有证书的 HTTPS 来确定主机和目标之间的连接是否有效。

  3. 除本地管理员外,仅在 SSRS 站点上设置一个用户。授予该用户只读权限。设置您的应用程序以通过远程模式向 ReportViewer 进行身份验证,但将此值硬编码到您的方法中,不要放入应用程序或 Web 配置中。这样,某人必须有权访问源代码才能查看用户,如果他们不是托管 SSRS 的服务器上的本地管理员,他们将无法进入 SSRS 站点甚至查看用户。

无论如何,这些都是我的想法。大多数情况下,人们对 SSRS 太安全而无法进入而遇到问题,而您需要更多安全性。我希望这会有所帮助,因为我知道我不能说这种方法是 100% 万无一失的(恕我直言),但它现在增加了添加不同端口以及具有最低权限的专用用户的复杂程度,只能由以下人员查看另一个帐户,但可以在前端应用程序中硬编码。

于 2013-09-09T17:18:00.143 回答
0

您还可以将安全性添加到您的报告级别。用于User!UserID捕获谁正在登录您的报告。并检查您从管理报告访问权限的应用程序数据库创建的数据集。这样,您可以过滤数据以防止显示给错误的用户。

注意:请将此视为系统安全的另一层,不要仅依赖于此。高级用户可以通过多种方式解决此问题。

于 2013-09-13T20:10:21.577 回答