SQL登录访问ASP.Net应用程序数据库的权限
我总是想知道,我需要为sql登录提供什么样的确切访问权限和权限,我可以从asp.net应用程序访问数据库。应用程序执行一些存储过程,将数据插入、更新和删除到表中。我也直接在表上进行选择、删除和更新。还有一些触发因素。SQL登录访问ASP.Net应用程序数据库的权限,asp.net,sql-server-2005,database-permissions,Asp.net,Sql Server 2005,Database Permissions,我总是想知道,我需要为sql登录提供什么样的确切访问权限和权限,我可以从asp.net应用程序访问数据库。应用程序执行一些存储过程,将数据插入、更新和删除到表中。我也直接在表上进行选择、删除和更新。还有一些触发因素。 不知道是否有一个全面的权限矩阵列表可供帮助。好吧,这取决于您想让它变得多么复杂:-) 最简单的解决方案: 使您的登录/db用户具有db_datareader角色以读取所有表 使您的登录/db用户具有db_datawriter角色以写入所有表 至于执行存储过程,我们所做的是在数据
不知道是否有一个全面的权限矩阵列表可供帮助。好吧,这取决于您想让它变得多么复杂:-) 最简单的解决方案:
- 使您的登录/db用户具有db_datareader角色以读取所有表
- 使您的登录/db用户具有db_datawriter角色以写入所有表
CREATE ROLE [db_executor] AUTHORIZATION [dbo]
GRANT EXECUTE TO [db_executor]
然后我们也将这个角色授予db用户。此新自定义数据库角色将对数据库中所有现有和将来存储的过程/函数具有执行权限
有了它,您的db用户可以读写任何表,执行任何存储过程和存储函数
更复杂的解决方案:
当然,您还可以向单个db用户和/或db角色授予对单个表、视图、过程和函数的权限。但它可能变得相当混乱和复杂
马克好吧,这取决于你想让它变得多么复杂:-) 最简单的解决方案:
- 使您的登录/db用户具有db_datareader角色以读取所有表
- 使您的登录/db用户具有db_datawriter角色以写入所有表
CREATE ROLE [db_executor] AUTHORIZATION [dbo]
GRANT EXECUTE TO [db_executor]
然后我们也将这个角色授予db用户。此新自定义数据库角色将对数据库中所有现有和将来存储的过程/函数具有执行权限
有了它,您的db用户可以读写任何表,执行任何存储过程和存储函数
更复杂的解决方案:
当然,您还可以向单个db用户和/或db角色授予对单个表、视图、过程和函数的权限。但它可能变得相当混乱和复杂
马克