彩票走势图

logo FastReport.Net教程2019
文档彩票走势图>>FastReport.Net教程2019>>如何进行web报表的用户身份验证,提高数据安全性

如何进行web报表的用户身份验证,提高数据安全性


每次我们生成Web报表时,ajax请求都会导致处理程序的执行:WebResource.axd和FastReport.Export.axd。在ASP.Net应用程序中使用带有axd扩展名的文件从dll库获取资源:图像、javascript和样式。

结果,我们得到一个HTML报表文件。但是,由于已生成报表并将其放置在IIS缓存中,因此,知道生成的报表ID(根据请求生成)后, 不法分子就可以轻松获取它。如果报表包含机密数据,则这是一个潜在的安全问题。解决这种情况的方法可以是用户身份验证。也就是说,如果报表是由特定用户调用的,那么只有他才能获得该报表的副本。

我们可以检查http请求以进行用户身份验证,但这不是出路。恶意因素也总是可以欺骗请求。最好的解决方案是会话身份验证。直到最近,FastReport.Net才提供这种功能。但是在版本2019.3.13中,出现了一个事件,用于通过WebReport中的asp处理程序加载的报表资源的ajax身份验证。

在显示报表之前,将执行WebReport.CustomAuth事件。此时,您可以检查会话中的用户。这是使用新事件的示例:

public ActionResult Index()
 {
 Session["User"] = "Father Brown";
...
 webReport.CustomAuth += WebReport_CustomAuth;
...
 }
...
 private void WebReport_CustomAuth(object sender, CustomAuthEventArgs e)
 {
 e.AuthPassed = (e.Context.Session["User"] as string) == "Father Brown";
 }
...

如您所见,首先,在创建报表之前,我们在Http会话中设置用户名,然后订阅该事件。在事件处理程序中,我们执行用户检查。如果其他用户请求该报表,则其在会话中的名称将不同,并且该报表将不会显示。此示例显示了用户身份验证,但是您可以修改实现到您自己的版本。

因此,我们可以通过执行报表身份验证来显着提高数据安全性。



产品介绍 | 下载试用 | 优惠活动 | 

扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP