SQL登录访问ASP.Net应用程序数据库的权限

时间:2009-03-31 07:12:04

标签: asp.net sql-server-2005 database-permissions

我一直想知道我需要为从我的asp.net应用程序访问数据库的sql登录提供什么样的访问权限和权限。应用程序执行一些存储过程,将数据插入,更新和删除到表中。我也直接在表上选择,删除,更新。还有一些触发器。 想知道是否有完整的权限矩阵列表可以提供帮助。

1 个答案:

答案 0 :(得分:1)

嗯,这取决于你想要的复杂程度: - )

最简单的解决方案:

  • 使您的login / db用户具有db_datareader角色来读取所有表
  • 使您的login / db用户具有db_datawriter角色来编写所有表

至于执行存储过程,我们所做的是在我们的数据库中创建一个新的自定义数据库角色“db_executor”,如下所示:

CREATE ROLE [db_executor] AUTHORIZATION [dbo]
GRANT EXECUTE TO [db_executor]

然后我们也将此角色授予db用户。此新的自定义数据库角色将对数据库中所有未来存储的proc / func上的所有现有 AND 具有执行权限。

这样,您的db用户可以读写任何表并执行任何存储的proc和存储的func。

更复杂的解决方案: 您当然还可以对单个表,视图,过程,func以及单个数据库用户和/或数据库角色的GRANT权限。但它可能变得非常混乱和复杂。

马克