我正在尝试将身份验证设置直接设置为应用程序级别,而 IIS 似乎不接受它。
我在 2012 R2 上运行 IIS 8.5。
当我在服务器级别禁用所有身份验证方法时会发生以下情况(请注意我在左侧边栏中的选择):
结果,这正是我所期望的:
现在,如果我在服务器级别重新启用匿名身份验证,并在应用程序级别执行相同的操作:
我得到以下内容,这是我的静态 HTML 页面的内容:
因此,如果我禁用所有身份验证方法,它仍然会通过,这是不应该的。
它正在读取 web.config 文件,我已经通过在其中插入乱码来确认它,它会弹出通用的“发生错误”页面。我还通过检查进程监视器来确认它,以确保它正在读取正确的 web.config 文件。
当我尝试设置失败的请求日志记录时,也会发生同样的事情。在应用程序级别,没有任何记录,但在服务器级别,我得到一个日志,其中不包含太多内容。如果我在应用程序上仅打开 Windows 身份验证(没有匿名),我可以在失败的请求日志中看到它除了匿名身份验证之外没有尝试做任何其他事情。
我试图通过删除/添加角色向导重新安装 IIS,但仍然没有成功。
任何人都知道我接下来可以尝试什么?
原来我们的 IIS 安装脚本包括以下内容:
这实质上更改了禁用任何配置覆盖的所有应用程序池的默认设置。从本质上讲,这关闭了在我们的站点中使用web.config文件的能力。
那肯定会做到的。
enableConfigurationOverride
我在该选项的 UI 中看不到任何内容。所以我只是在 Powershell 中运行以下命令来解决这个问题: