ReportViewer控件参数安全性



我正在考虑在自定义web应用程序中的ASP.NET web表单上使用Microsoft.ReportViewer.WebForms ReportViewer控件来显示RDL报告。RDL报告使用参数。其中一个参数是部门参数。部门A中的用户应该只被允许使用A作为参数的值,部门B中的用户只应该被允许使用B作为参数的数值,依此类推

部门参数值(以及所有其他参数值(将在承载ReportViewer控件的ASP.NET web窗体的代码隐藏逻辑中以编程方式设置。服务器端逻辑根据用户的配置文件查找department参数值。对报表进行了配置,使department参数不可见。

这是我的问题:ReportViewer控件中是否存在已知的后门,用户可以通过该后门将"department"值作为HTTP请求的一部分进行传递,并访问他们不应该访问的数据?请注意,这个问题既适用于简单的表格报告,也适用于更复杂的钻取报告,其中department可能是从主报告向下传递到钻取报告的值。

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

最新更新