注意 |
|---|
此信息适用于只使用 SQL Server 身份验证的数据库配置。Windows 身份验证不需要受限访问数据库帐户,因为它使用的是集成安全性。 |
当您从 Web 应用程序访问数据库时,必须解决安全性问题。尤其重要的是,应将用来访问数据库的帐户的作用域限制为 Web 应用程序确实需要的那些功能。
例如,Crystal Reports 文档教程中使用罗斯文数据库来显示那些基于其“客户”表和“订单”表的报表。因此,要求连接到罗斯文数据库的受限访问数据库帐户只需要两种权限:
- 访问罗斯文数据库的“客户”和“订单”表的权限。
- 在这两个表中 SELECT 记录的权限(但没有 INSERT、UPDATE 或 DELETE 记录的权限)。
在本节中,您将学习如何创建受限访问数据库帐户。
注意 |
|---|
创建此受限访问数据库帐户并不阻止您使用“sa”系统管理员帐户访问此数据库(进行完全控制)。相反,您创建的是一个仅供 Web 应用程序使用的辅助帐户。 |
这些说明对于 MSDE 和 SQL Server 均同样适用。
键入以下命令登录到 MSDE 或 SQL Server。
- 用系统管理员密码替换此占位符:[password]。
- 用数据库服务器名称替换此占位符:[serverName]。
<!-- end list -->
osql -U sa -P [password] -S [serverName]
键入“USE master”以切换到主数据库,接着在下一行中键入“GO”,然后按 Enter。
USE master GO
运行数据库脚本“sp_addlogin”,并包括以下命令行参数:想用于受限访问数据库帐户的名称、密码及其应用到的数据库。
在命令行参数中自定义以下值:
- 创建一个受限访问数据库帐户名,例如“limitedPermissionAccount”。
- 在以下占位符出现的地方创建一个由此受限访问帐户使用的新密码:\[new\_password\]。记录下此密码,因为某些教程需要使用该密码。
<!-- end list -->
sp_addlogin 'limitedPermissionAccount','[new_password]','Northwind'
GO
切换到罗斯文数据库。
USE Northwind GO运行数据库脚本“sp_grantdbaccess”,并将新建的受限访问数据库帐户名传入此脚本中。
sp_grantdbaccess 'limitedPermissionAccount' GO对于“客户”表,为您创建的新受限访问数据库帐户授予在“客户”和“订单”表上的 SELECT 权限。
GRANT SELECT ON Customers TO limitedPermissionAccount GO GRANT SELECT ON Orders TO limitedPermissionAccount GO键入“exit”退出 osql 命令行,然后按 Enter 键。
exit您已成功创建了受限访问帐户,并只授予其罗斯文数据库的“客户”和“订单”表的 SELECT 访问权限。
这就完成了连接到罗斯文数据库的“客户”表所需的受限访问帐户设置工作。现在,您已准备就绪,可以完成使用 SQL 身份验证访问罗斯文数据库的以下任何教程。
注意