Microsoft建议在将Windows应用程序连接到SQL Server数据库时使用Windows身份验证。
http://msdn.microsoft.com/en-us/library/89211k9b.aspx
我理解这意味着数据库必须拥有一个具有足够权限来操纵数据的用户,并且该用户链接到当前登录的Windows用户。如果是这样,如何防止用户绕过应用程序而直接在数据库中直接修改数据?
似乎我被困在使用Windows身份验证和潜在地允许用户直接在数据库中修改数据之间进行尝试,或者试图将连接字符串密码隐藏在某个地方,以便只有应用程序才能修改此数据。
可以创建存储过程/视图等,并且只允许用户对它们进行许可。这样可以防止用户直接访问数据库结构,并且可以控制用户的操作(通过在存储过程/视图中创建功能)。如果使用Windows凭据,我认为这将是最佳解决方案。
该站点说明了如何在此授予对存储过程的权限。http://msdn.microsoft.com/en-us/library/ms345484.aspx
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句