0

我有一个 Windows 应用程序项目,它使用 SQL Server 2012 来维护它的数据。

为了保护我的应用程序,我决定为我系统中的每个用户创建一个 SQL Server 登录。

这是一个好主意吗?

4

2 回答 2

1

如果您不使用,Windows Authentication那么这将是您最好的选择。您还可以将用户放入Roles该用户组并指定该用户组的权限。

如果您要求每个用户具有不同的权限,并且您需要准确确定哪个用户对每个数据库实体(表、视图、存储过程、函数等)具有哪些权限,那么创建一个新用户将是可行的方法。这将允许您微调每个帐户,启用/禁用帐户,轻松授予/撤销权限。

正如@dash 所说,维护起来会更困难,但我认为拥有细粒度的安全性比维护大量基础更重要。

于 2013-06-26T07:45:26.383 回答
0

您可以尝试创建访问矩阵表以将数据访问级别映射到每个用户。然后,您可以根据登录用户的访问级别显示/隐藏应用程序中加载的数据。正如@dash 所说,这将更难维护,但它可能比创建个人登录更容易。其次,我想创建一个插入/更新/删除脚本来编辑矩阵而不是让 DBA 编辑 SQL Server 登录名也会更容易。

于 2013-07-05T19:40:29.453 回答