代码之家  ›  专栏  ›  技术社区  ›  DCNYAM

实体框架安全

  •  1
  • DCNYAM  · 技术社区  · 15 年前

    在我的组织中,我们刚刚开始为一些应用程序使用实体框架。在过去,我们已经推动开发人员利用存储过程访问所有数据库。除了帮助SQL注入之外,我们还试图授予登录访问存储过程的权限,以使安全性相对较紧。

    虽然插入、更新和删除很容易通过EF中的存储过程完成,但似乎很难使用存储过程来查询带有EF的数据。但是,使用LINQ或实体SQL并允许EF创建查询意味着授予用户对整个数据库的读取权限。

    其他人是如何处理这种困境的?

    1 回复  |  直到 15 年前
        1
  •  3
  •   Rob Fonseca-Ensor    15 年前

    您尝试应用哪种数据保护?

    使用EF,您可以编写一个单元可测试的业务逻辑层,它将处理比数据库层更多的授权场景(尽管我可以看到多个安全层使您感觉更安全):

    • 查询广告(此用户是该用户的经理吗?)
    • 调用Web服务
    • 检查其他环境情况

    如果您的情况意味着您还没有准备好将数据库视为数据存储,而不是安全和业务逻辑层,那么可能EF不适合您的项目。

    P.S.EF将保护您不受SQL注入的影响。