2011-03-22 169 views
0

我们正在为客户门户使用Sharepoint实施。我们正在为每个客户提供一个可以访问报告的网站。我们使用相同的报告库,每个报告都采用一个参数作为客户端的唯一标识符。我们遇到的问题是,只要您可以对系统进行身份验证,您就可以在包含报告的页面上查看源代码,并通过Google搜索来了解如何将查询字符串放在一起以提取报告。通过选择随机的身份证号码,您可以提取其他客户报告。Sharepoint 2010/SSRS 2008R2安全漏洞

赔率是客户不会这样做,但总是有机会,我们正在寻找关闭这个漏洞。

其他人碰到过吗?我们有一些可能的解决方案,但希望可能会更简单一点,我们错过了。

回答

1

在SSRS中,您可以访问用户的ID:如果您创建的内部参数设置为该值(= User.UserID),则查询可以检查该用户是否有权查看请求的数据。 (即创建一个带有允许用户访问并加入的UniqueID的表格)。

将此与唯一的ID参数结合使用,您应该被覆盖。

+0

谢谢!我喜欢这个 :) – 2011-03-24 03:57:25

0

如果您为每个报告设置了项目级权限,则不应该有此问题。

+0

如果我们在每个客户站点库中放置了所有报表的副本,情况就会如此。鉴于每个客户站点都可以访问相同的报告池,我们宁可不要重复这一点。我们有一个文档库所在的根站点,然后每个客户站点都是该站点的一个子站点,可以访问文档库。每个子站点都将有一个唯一ID,作为参数传递到报告中以加载适当的报告值。问题是你可以通过查看源代码来拼凑报告查询字符串。 – 2011-03-22 23:24:51