...

...

我有 2 台 Windows 2008 服务器。一台是 Web 服务器 (IIS7)。另一台是数据库服务器 (SQL Server 2008)。SQL Server 2008 实例配置为使用混合模式身份验证。两台服务器均未加入 Active Directory 域。

Web 服务器上的 ASP.NET 应用程序应如何登录数据库服务器上的数据库?我已经使用 SA 帐户进行了测试,但显然我需要进行更改。

我对使用什么感到困惑:sql 服务器帐户、每台机器上配置的 windows 帐户,还是“应用程序角色”,我对此并没有太多的了解。

该账户只需要能够读写数据,并执行存储过程。我应该怎么做以及如何设置?

...

请给我一些设置说明,而不是简单的快速回答。谢谢。

答案1

更安全的方法是使用 Windows 身份验证。这样您就可以编写应用程序,而无需在任何连接字符串或配置文件中包含密码。

您将在每个系统上创建一个用户帐户。这不应是管理员帐户,而应是普通用户帐户。两个系统都使用相同的名称和密码创建用户。

现在在您的 IIS 系统上编辑应用程序池设置。将身份更改为以您刚刚创建的用户帐户运行。此时您需要输入用户的密码。

在 SQL 服务器上创建一个与您创建的 Windows 使用帐户关联的登录帐户。您可以使用常规 SQL Server 权限来授予/拒绝应用程序所需的操作。

现在,在您的应用程序中使用集成安全性连接到 SQL 服务器。建立 SQL 连接时将使用应用程序池用户。

您的配置或应用程序中没有密码并且具有安全的数据库连接!

答案2

最常用的方法是使用 SQL 登录。创建一个具有强密码的 SQL 登录。将其作为用户添加到应用程序将使用的数据库中。在数据库中创建一个数据库角色,并使您的用户成为该角色的成员。授予数据库角色访问其需要访问的对象的权限。

您只需要授予该角色所需的权限。

数据库角色的原因在于您可以将数据库恢复到另一台服务器,并能够轻松地向另一个用户授予确切的权限,以便确保一切正常运行。

相关内容