小编典典

将 IIS 7 AppPool 身份添加为 SQL Server 登录

all

我正在运行一个带有 Integrated Pipeline Mode 的 AppPool 的 IIS 7 网站。AppPools 不在
NetworkService 等身份下运行(按目的),而是使用自己的 AppPool 身份(IIS AppPool\MyAppPool)。

这是所谓的服务帐户或虚拟帐户。(用户帐户,不是完整帐户…)

我想授予此服务帐户 (IIS AppPool\MyAppPool) 权限以连接到我的 SQL Server 2008
Express(以混合身份验证模式运行)。

虽然 SQL Server 可以添加任何普通用户帐户,但 IIS AppPool\MyAppPool 虚拟帐户无法添加到有效登录中(SQL Server
说找不到该帐户)。

有什么技巧,我需要启用什么才能使虚拟帐户正常工作吗?(根据taskmgr,w3wp.exe进程在此身份下运行,但我也不能在NTFS安全中使用该帐户…)

谢谢你的帮助!


阅读 78

收藏
2022-05-22

共1个答案

小编典典

“IIS APPPOOL\AppPoolName”会起作用,但如前所述,它似乎不是有效的 AD
名称,因此当您在“选择用户或组”对话框中搜索它时,它不会显示(实际上,它会找到它,但它会认为它是一个实际的系统帐户,它会尝试这样对待它......这是行不通的,并且会给你关于它找不到的错误消息)。

我如何让它工作的是:

  1. 在 SQL Server Management Studio 中,查找 安全 文件夹(与数据库、服务器对象等文件夹处于同一级别的安全文件夹......而不是每个单独数据库中的安全文件夹)
  2. 右键单击登录名并选择“新登录名”
  3. 在登录名字段中,键入 IIS APPPOOL\YourAppPoolName - 不要单击搜索
  4. 填写您喜欢的任何其他值(即身份验证类型、默认数据库等)
  5. 点击确定

只要 AppPool 名称实际存在,现在就应该创建登录。

2022-05-22