通过Windows身份验证的两台服务器之间的数据库连接字符串



我有两个服务器,假设它们是APPSVR(ASP.NET(和DBSVR(SQL Server(。目前,应用程序运行顺利,数据库连接使用User IdPassword的SQL Server身份验证。

以后,必须使用Windows身份验证Integrated Security=True对其进行更改。我已经尝试过更改,但无法工作(数据库连接失败(。

我们在同一个域中也有域控制器和两个服务器。我不确定必须在我们的环境中配置哪一个(域/SQL Server/IIIS管理器(。做这件事的正确程序是什么?

  1. 您的asp.net应用程序是否已经使用域用户身份验证运行?

  2. 您是否需要按用户登录SQL server,因为您设置了域用户的访问权限,而不是创建自己的访问权限你的asp.net应用程序上的系统?

我为什么问你这个?因为您需要考虑web应用程序和桌面应用程序之间的差异。在web应用程序中,web服务器联系sql服务器,而不是用户pc。

因此,这会使设置复杂化。如果您希望web服务器使用windows身份验证登录sql server,则需要将web服务器设置为伪装成域用户。您还需要考虑用户从互联网访问web应用程序的情况。

我建议对使用本地用户而不是域用户的sql server连接使用仅限应用程序的强密码。对于访问权限,您可以简单地创建一个新表来存储域用户登录id和他们的访问权限。此设置仍然允许使用域Users登录到web应用程序,但数据库连接不允许。优点是,如果使用windows身份验证,您可以最大限度地减少对sql server中需要维护的少数甚至只有一个用户应用程序的用户的访问,而不是对需要在sql server上注册的每个域用户的访问。

如果您仍然需要设置Windows身份验证,您可以在此处查看信息。

我们最近不得不改用Windows Auth而不是SQL帐户从ASP网站访问数据库。诀窍是让应用程序池使用您用于访问SQL Server的相同域帐户启动,然后您只需更改连接字符串即可使用集成安全性。

流程如下所示:https://thycotic.force.com/support/s/article/Using-Windows-Authentication-to-access-SQL-Server-Secret-Server

最新更新