我正在开发一个应用程序,允许用户自己创建查询以查看其数据库中的数据。但是,规定是应用程序应该阻止对数据库中存储的表和数据进行任何修改。应用程序将使用C#编写。如何做到这一点的任何好建议?我想到的可能的想法:
非常感谢任何建议阻止此应用程序所做的任何更改,以防止出现任何用户错误或尝试修改数据表的可能性。
答案 0 :(得分:10)
您应该以没有写入权限的用户身份运行查询。
答案 1 :(得分:4)
任何体面的DBMS都应该内置这些保护(在每个用户级别)。您只需确保他们拥有的唯一权限是只读的。
然后您不必担心他们所做的任何。让他们尝试插入,更新和删除他们想要的所有内容。
数据库的基本原则是他们对自己的安全性和完整性负责。您从不将其留给外部应用程序,因为任何猴子都可以编写应用程序来连接不遵循规则的数据库。
答案 2 :(得分:2)
这需要在用户级而不是查询级别进行处理。设置应用程序时,您需要确保用于运行查询的帐户没有任何dbwriter权限。
答案 3 :(得分:2)
这通常通过为用户提供对(不可更新的)视图的访问来处理,而不是对表进行访问。
答案 4 :(得分:1)
恕我直言,最好的方法是创建一个只能在指定表上执行选择的用户。然后使用该用户进行连接。