如何进行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会话中设置用户名,然后订阅该事件。在事件处理程序中,我们执行用户检查。如果其他用户请求该 表,则其在会话中的名称将不同,并且该 表将不会显示。此示例显示了用户身份验证,但是您可以修改实现到您自己的版本。

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

产品介绍 | 下载试用 | 优惠活动 | 在线客服

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年9月12日
下一篇 2019年9月12日

相关推荐

发表回复

登录后才能评论