我们有一个设置,我们有多个应用程序实例 - 每个客户一个实例。
我们通过URL调用了很多报告,并在查询字符串中传递了参数。
早期,当我们在2005年时,我们发现了一个问题:我可以稍微改变我的查询字符串并进入其他人的数据。
我们通过欺骗用户解决了这个问题。
现在,由于2005年报告服务安装中出现了一些间歇性的不稳定因素,我们正在冒险升级到2008年。但是,欺骗情况似乎不再有效。
看似相关的technet文章似乎说我们需要创建一个非常大的安全扩展(article)。这看起来有点矫枉过正。当然,有一种更简单的方法来调用基于URL的报告。
您是如何在应用程序中完成此任务的?
注意:这是我同事问题的重新发布(转述)。他没有得到任何答案,因为他没有任何声誉,他无法尝试赏金制度。我重写了它并决定给它一个旋转。请宽容 - 我们真的需要一个答案。 :)
答案 0 :(得分:1)
我很好奇,你在2005年做了什么用户欺骗在2008年不起作用?
但对于真正的问题,听起来像你可能应该使用自定义身份验证。您链接到的示例实际上非常好地解释了正在发生的事情并指导您完成基础知识。我遇到了类似的问题,我们有许多客户端访问报告,并且非常重要的是,一个客户端无法访问其他客户端的数据。
我最终编写了一个自定义身份验证扩展,只创建客户端特定文件夹和权限,仅限客户端特定用户(我通过自定义身份验证设置)浏览器访问该文件夹中的所有报告。
如果您正在编写位于/ Reports /区域之外的应用程序,我还建议您查看http://www.gotreportviewer.com/。不幸的是,我在我的自定义身份验证方案上投入了太多时间后就知道了这一点。
祝你好运!