Win server 2008 r2 上的 IIS 7.5 useAppPoolCredentials

Abh*_*tel 5 iis iis-7.5 windows-server-2008-r2

我正在尝试为 IIS 7.5 中的新网站设置 Windows 身份验证。我为该站点启用了 Windows 身份验证模块,并禁用了所有其他身份验证类型(例如匿名、基本等)。该站点的应用程序池在一个自定义标识下运行,已为其适当设置了 SPN 和主机标头。在尝试通过浏览器访问站点下托管的任何内容(例如文本文件)时,我收到 401.2 错误。我遵循了这个建议,并将useAppPoolCredentials 属性添加到了 applicationHost.config,并且我能够使用 Windows 身份验证访问资源。

然后我删除了该属性并再次保存了 applicationHost.config 有效地撤消了我的更改,我仍然能够访问资源。什么给出了?有人可以帮助我理解这种行为吗?

同样在 Win server 2008R2 上的 IIS 7.5 的一个特定安装中,我注意到对站点(或应用程序)的默认配置的任何更改都会导致 IIS 在站点/应用程序的根目录下自动生成一个 Web.config 文件。是否有设置可以启用此功能而不必直接更新 applicationHost.config?

编辑浏览器正在缓存响应,因此撤消更改并保存文件似乎没有区别。所以我现在唯一的问题与 Web.config 的生成有关

Kev*_*Kev 4

关于第二个问题,即如何确保配置更改持久保存到站点web.config而不是站点applicationHost.config,这可以通过功能委派进行控制。

如果导航到 IIS 管理器的计算机节点,您将看到一个名为“功能委派”的图标:

在此输入图像描述

启动此 IIS“小程序”,您将看到可以将其配置委托给web.config.

标记为读/写的设置通常会将其设置写入web.config文件。标记为“只读”的设置通常会将其设置写入文件中applicationHost.config,并且无法在web.config文件中覆盖。

碰巧<windowsAuthentication>配置可以委托给该web.config文件。

小问题:

并非所有小程序都会显示您可以配置的全部设置。属性就是一个很好的例子<windowsAuthentication> useAppPoolCredentials。在身份验证小程序中看不到它,甚至在高级设置下也看不到它。

但是,您可以通过配置编辑器获取该值(以及几乎所有其他值)。如果您导航到 IIS 管理器左侧窗格中的网站节点,您将在Management下看到此图标:

在此输入图像描述

如果启动配置编辑器,您将看到一个下拉列表,其中包含各种设置的树:

在此输入图像描述

如果我们选择该/system.webServer/security/authentication/windowsAuthentication节点,我们将看到可以更改的全部设置。在这里我们可以看到我们感兴趣的设置 ( useAppPoolCredentials):

在此输入图像描述

web.config您可以选择是否在配置部分树下拉列表旁边applicationHost.config的“发件人:”下拉列表中配置网站的值:

在此输入图像描述

如果某个部分尚未被委托为读/写,那么web.config您将看到以下内容:

在此输入图像描述

我们收到一条警报,指出此特定功能已被锁定,所有设置均呈灰色并禁用,并且有一个挂锁表明此功能的子设置也被锁定。

最后,并非所有设置都可以委派,例如站点绑定、应用程序池、虚拟目录。