如何在 IIS 7 和 SQL Server 2005 之间配置信任连接?
在 IIS 中启用 Windows 身份验证后,我的 Web 应用程序运行良好。现在,为了解决问题,我们需要使用受信任的连接。不幸的是,在 web.config 中启用受信任的连接会破坏 Web 应用程序。奇怪的是,当我从本地开发机器(使用 Cassini Web 服务器)使用受信任的连接运行此应用程序时
IIS(Windows Server 2008)在一台机器上运行。数据库(SQL Server 2005,但可以迁移到 2008)在另一台机器上运行。我们在运行 AD 的 Windows 域中。所有流量都在我们自己的防火墙内 - 没有公共访问。除此之外,我无法提供太多信息,但我可以找到它。我们非常“分隔”(我们有服务器人员、安全人员、Oracle 人员、SQL Server 人员等)。
谢谢!
更新时间:2012 年 2 月 14 日 0902:该 Web 应用程序现已正常运行(应用程序不再损坏),但主要问题仍未解决。
现在,我已将应用程序的应用程序池作为域帐户运行,该帐户对 SQL Server 框和 IIS 框具有权限。我们使用此帐户运行应用程序,但问题是,我们需要记录进行更改的真实用户名。使用服务帐户时,该服务帐户的名称会出现在审计表中,这使得审计毫无用处。所以,至少我不再运行。
web.config 中的连接字符串使用“Trusted_Connection=True”,appPool 使用可以访问两个框的域帐户,但是当我进行更改(以我的身份登录)时,服务帐户的名称(appPool 身份)仍然记录在审计表中。
我还手动授予服务帐户对 webapp 文件夹的完全权限。
我需要做什么才能在审计表中记录我的名字而不是服务帐户?我读到的所有内容都表明我需要在两台服务器之间建立信任连接。
答案1
向 Web 服务器进行身份验证的用户和 Web 服务器用于连接 MSSQL 的用户帐户不一定是同一个。
一种解决方案是向 MSSQL 添加组权限,并使所有符合条件的 Windows 用户成为该组的成员。这样,该组将授予对 MSSQL 的访问权限,但实际用户仍是进行连接的人。