我有 2 个 Windows 2008 服务器。一种是 Web 服务器 (IIS7)。另一个是数据库服务器(SQL Server 2008)。sql server 2008 的实例配置为使用混合模式身份验证。两者都没有加入活动目录域。
Web 服务器上的 ASP.NET 应用程序应该如何登录到数据库服务器上的数据库?我已经使用 SA 帐户进行了测试,但显然我需要更改它。
我对使用什么感到困惑:sql server 帐户、在每台机器上配置的 windows 帐户或“应用程序角色”,我对此并不太了解。
该帐户只需要能够读取和写入数据,并执行存储过程。我应该怎么做以及如何设置?
...
请给我有关如何设置的说明,而不是快速回答。谢谢。
最常用的方法是 SQL 登录。使用强密码创建 SQL 登录。将其作为用户添加到您的应用程序将使用的数据库中。在数据库中创建一个数据库角色,并使您的用户成为该角色的成员。授予数据库角色访问它需要访问的对象的权限。
您只想授予角色所需的权限。
使用数据库角色的原因是,您可以将数据库还原到另一台服务器,并能够轻松地将确切的权限授予另一个用户,以便您可以确保一切正常。
更安全的方法使用 Windows 身份验证。这将允许您在任何连接字符串或配置文件中不包含密码的情况下编写应用程序。
您将为每个系统创建一个用户帐户。这不应该是管理员帐户,只是普通用户帐户。两个系统之一创建具有相同名称和密码的用户。
现在在您的 IIS 系统上编辑应用程序池设置。更改身份以作为您刚刚创建的用户帐户运行。此时,您需要输入用户的密码。
在 SQL 服务器上创建与您创建的 Windows 使用帐户相关联的登录帐户。您可以使用正常的 SQL Server 权限来授予/拒绝应用程序所需的操作。
现在在您的应用程序中使用集成安全性连接到 SQL 服务器。建立 SQL 连接时将使用应用程序池用户。
您的配置或应用程序中没有密码以及安全的数据库连接!