Hangfire Server是否可以访问应用程序中的敏感数据



我遇到Hangfire是为了使用ASP.NET核心MVC构建后台作业,我已经向我的经理提出了这个想法,他关心的是安全性,其中一些问题如下。

  • Hangfire Server是否可以访问将在应用程序中实现的敏感数据
  • Hangfire Server是如何触发代码中实现的作业的
  • Hangfire服务器中是否保存了任何敏感数据

如有任何关于Hangfire安全的建议或信息,我将不胜感激。

Hangfire Server是否可以访问敏感数据在应用程序中实现?

它不会比应用程序中加载的任何其他nuget包拥有更多的访问权限。

Hangfire服务器如何触发代码中实现的作业?

一个作业正在后台运行,并定期轮询Hangfire数据库以查找要执行的新作业。如果找到了新作业,则会对存储在数据库中的调用数据进行反序列化,并使用反序列化的参数通过反射来调用生成的方法。

Hangfire服务器中是否保存了任何敏感数据?

这取决于您。每个作业参数都在Hangfire数据库中序列化。如果这是一个问题(您不控制或共享hangfire数据库(,您可以只传递标识符,并在处理作业期间在自己的数据库中检索相应的值。

例如,如果您调用

BackgroundJob.Enqueue(() => HandleSensitiveData(new SensitiveData{Id="123", Value="VerySensitiveData"}));

VerySensitiveData将存储在hangfire数据库中,整个序列化的SensitiveData对象

但是,如果SensitiveDataId123在您的DB中,并且您调用

BackgroundJob.Enqueue(() => HandleSensitiveDataFromId("123"));

Hangfire DB中只保存了123,执行HandleSensitiveDataFromId时只需检索Id为123的对象即可。VerySensitiveData从未存储在Hangfire DB 中

相关内容

  • 没有找到相关文章

最新更新