English 中文(简体)
你怎样让SQL 2008报告服务为多个应用程序安全地工作?
原标题:
  • 时间:2009-02-11 16:09:59
  •  标签:

我们有一个设置,我们拥有一个应用程序的多个实例,每个客户一个实例。

我们通常通过URL调用大量报告,并通过querystring传递参数。

早在2005年,我们就发现了一个问题:只需稍微改变查询字符串,就可以访问其他人的数据。

我们通过欺骗用户的方式解决了问题。

现在,由于我们的2005年报告服务安装存在间歇性不稳定性,我们正在升级到2008年。然而,欺骗情况似乎不再起作用了。

看起来相关的Technet文章似乎表明我们需要创建一个非常大的安全扩展(文章)。这似乎有些过头了。肯定有更简单的方法调用基于URL的报告。

你在应用程序中怎么实现的?

注意: 这是我同事的问题的重新发布(改写版)。他没有得到任何答案,由于他没有声望,他无法尝试赏金系统。我改写了它并决定尝试一下。请容忍-我们真的需要这个问题的答案。 :)

最佳回答

我很好奇,你在2005年为了用户欺骗做了什么工作,在2008年不再起作用了?

但是对于真正的问题,听起来您可能应该使用定制身份验证。您链接的样本实际上做了一个相当好的工作,解释了正在发生的事情,并指导您完成了基础知识。我有一个类似于您的问题,我们有很多客户访问报告,重要性极大的是不能让一个客户获得另一个客户的数据访问权。

最终我编写了一个自定义认证扩展,它会创建客户专用文件夹,并对仅由我通过自定义认证设置的客户特定用户具有的权限。浏览器可以访问该文件夹中的所有报告。

我还建议您查看http://www.gotreportviewer.com/,如果您正在编写一个生活在/Reports/区域之外的应用程序。不幸的是,我在自定义身份验证计划上投资了太多时间后才了解到这一点。

祝好运!

问题回答

暂无回答




相关问题
热门标签