在 IIS 7.0 上的 Web 应用程序中,我想与 Sql 数据库服务器建立连接,我的用户被授予 Windows 身份验证权限。(集成安全=SSPI)
用户 'DOMAIN\COMPUTER_NAME$' 登录失败,但是我仍然可以通过 Sql Server Management Studio 的连接窗口(使用 DOMAIN\USER_NAME)连接到数据库。
如何通过我的 Web 应用程序连接到 Sql Server?
在 IIS 7.0 上的 Web 应用程序中,我想与 Sql 数据库服务器建立连接,我的用户被授予 Windows 身份验证权限。(集成安全=SSPI)
用户 'DOMAIN\COMPUTER_NAME$' 登录失败,但是我仍然可以通过 Sql Server Management Studio 的连接窗口(使用 DOMAIN\USER_NAME)连接到数据库。
如何通过我的 Web 应用程序连接到 Sql Server?
我找到了解决方案。
在 IIS 上,打开应用程序池设置。
对于身份选项,选择“自定义帐户”。
输入您的用户名 (DOMAIN\USERNAME) 和密码。
完成。
我的问题是我必须为 SQL Server 中的应用程序池帐户分配 db_owner 角色。我觉得许可太多了,但这是唯一有效的方法。我的书说要给它 db_datareader 和 db_datawriter 角色,但这不起作用。
我在同一台机器上使用带有 Windows 身份验证的 SQL Server、带有 IIS 的 Windows 7 Home Premium。
也许其他人会搜索这个问题并发现我的答案很有用。
能够连接到数据库本身就是一种特权
您可能仍需要执行此类操作以授予 IIS 服务帐户访问权限
USE [<database name>]
GRANT CONNECT TO '<DOMAIN\COMPUTER_NAME$>'