ReportViewer控件参数安全性

时间:2018-08-03 20:25:52

标签: asp.net reporting-services reportviewer

我正在考虑在自定义Web应用程序中的ASP.NET Web窗体上使用Microsoft.ReportViewer.WebForms ReportViewer控件来显示RDL报告。 RDL报告使用参数。参数之一是部门参数。只能允许部门A中的用户使用A作为参数的值,应当允许部门B中的用户使用B作为参数的值,依此类推。

部门参数值(以及所有其他参数值)将以编程方式在托管ReportViewer控件的ASP.NET Web表单的逻辑背后代码中进行设置。服务器端逻辑根据用户的配置文件查找部门参数值。已配置报告,以使Department参数不可见。

这是我的问题: ReportViewer控件中是否存在任何已知的后门,用户可以通过这些后门作为HTTP请求的一部分传递“部门”值并获得对他们不应该访问的数据的访问权?请注意,这个问题既适用于简单的表格报告,也适用于更复杂的追溯报告,其中,部门可能是从主报告向下传递至追溯报告的值。

1 个答案:

答案 0 :(得分:0)

这在很大程度上取决于您如何使用“安全性”。如果用户可以通过Windows身份验证访问报告,并且他们知道报告所在的位置(我想他们可以使用浏览器中的F12工具找到它们),那么他们当然可以在访问报告时使用所需的任何参数。直。因此,最好在源数据库(或者,如果可能的话,在报告中)而不是在使用报告的ASP.Net应用程序中实现基于用户的限制。