在我的组织中,我们刚刚开始对某些应用程序使用实体框架。过去,我们推动开发人员利用存储过程来访问所有数据库。除了帮助SQL注入之外,我们还试图授予登录访问存储过程的权限,以保证安全性相对较低。实体框架安全
尽管插入,更新和删除操作很容易通过EF中的存储过程完成,但使用存储过程使用EF查询数据似乎很困难。但是,使用LINQ或Entity SQL并允许EF创建查询意味着让用户读取整个数据库的访问权限。
其他人怎么处理这个困境?
在我的组织中,我们刚刚开始对某些应用程序使用实体框架。过去,我们推动开发人员利用存储过程来访问所有数据库。除了帮助SQL注入之外,我们还试图授予登录访问存储过程的权限,以保证安全性相对较低。实体框架安全
尽管插入,更新和删除操作很容易通过EF中的存储过程完成,但使用存储过程使用EF查询数据似乎很困难。但是,使用LINQ或Entity SQL并允许EF创建查询意味着让用户读取整个数据库的访问权限。
其他人怎么处理这个困境?
您试图应用什么样的数据保护?
随着EF,你可以写一个单元测试的业务逻辑层,将处理更多的授权的情况比你可以在数据库层做(虽然我可以看到多个安全层如何多让你感觉更安全):
如果断路器操作过物质意味着你还没有准备好将数据库视为数据存储而不是安全业务逻辑层,那么EF可能不适合你的项目。
P.S. EF将保护您免受SQL注入。
非常正确。在回顾了我用来从数据库中读取数据的一些安全实践之后,我确定他们没有提供任何*真实*安全性。 – NYSystemsAnalyst 2010-05-18 13:06:17
在EF中使用proc查询数据非常简单。你不能做的是编写这些查询,因为procs不构成。这不是EF限制;这是特效的基本限制。 – 2010-04-26 20:34:57