从特定应用程序保护数据库访问

Jas*_*ohn 4 security sql-server sql-server-2008-r2

我有一个 C#.NET 应用程序和一个 SQL Server 数据库(SQL Server 2008 R2),并且希望在从其他应用程序而不是我的应用程序访问某些表时限制对某些表的访问。

为此,我们尝试使用 CLR 触发器。但是我们做不到。请立即给出一些建议。将不胜感激!

Tho*_*ger 7

这是为什么不同的应用程序应该使用不同的主体进行身份验证的主要原因。如果您使用Login15 个应用程序,那么如果您需要这 5 个不同的应用程序具有不同的安全方案,那么管理安全性将成为一场噩梦。

我的推荐?为这两个应用程序分别登录。然后为每个登录授予特定的权限集(直接或通过角色)。

值得注意的是,您的问题的常见解决方案是通过实现逻辑来检查传递给 SQL Server 的应用程序名称,但我什至不打算扩展该解决方案,因为它容易被规避。您基本上可以告诉 SQL Server 您是Application1临时方式。 这种方法是不安全的。因此,我不建议您实施此逻辑