我需要(重新)为我正在处理的应用程序的用户开发一个工具,该工具位于 ASP.NET 4.5.2 / MVC 5.2.3 中并使用 Entity Framework 6。
该工具应该允许授权用户编辑 SQL 查询,并允许低权限用户运行它们。我担心这种工具的安全性,即使 Web 应用程序只能作为 Intranet 访问。
任何给定的查询只能是 aSELECT
并且可以JOIN
在多个表上具有 s。
是否有任何 EF6 特定功能允许我检查甚至限制一个 sql 字符串只做一个SELECT
?
我是否应该在数据库中有一个特定用户,该用户只允许SELECT
作为该用户执行这些查询并为这些查询使用单独的连接?
关于我可能忽略的这种工具的安全性还有什么其他的吗?
我知道这个工具是愚蠢的,甚至不应该存在,但我不负责决策,我们计划尽快删除该工具。