我在将站点部署到服务器时遇到错误。尝试加载主页或在IIS中的新站点上访问身份验证时,我收到错误:

配置错误:无法在此路径上使用此配置节。当节在父级锁定时,会发生这种情况。锁定是默认情况下(overrideModeDefault=“Deny”),或由具有overrideMode=“拒绝”或旧版的位置标记allowOverride=“false”。

更多细节可以在这里找到,在场景7中匹配我的十六进制错误代码。

上面链接站点上给出的解决方案是在applicationHost.config文件中的错误部分中设置Allow for overrideModeDefault。在我的例子中,在system.webServer中的“安全”下。但如果我查看本地计算机上的applicationHost.config(该站点已正确部署),则该部分设置为“拒绝”。

如果此解决方案是正确的,那么我的本地实例在使用相同的web.config时如何正常运行?根据我的applicationHost.config,该部分应该被锁定,但实际上没有。我宁愿不更改applicationHost.config文件,因为该服务器上还有许多其他站点在运行。还有其他解决方案吗?


当前回答

要解决此问题,请打开IIS Express applicationhost.config。此文件存储在C:\Users[您的用户名]\Documents\IISExpress\config\applicationhost.config中

VS2015+的更新:config文件位置为$(solutionDir).vs\config\applicationhost.config

查找以下行

<section name="windowsAuthentication" overrideModeDefault="Deny" />
<section name="anonymousAuthentication" overrideModeDefault="Deny" />
<add name="WindowsAuthenticationModule" lockItem="true" />
<add name="AnonymousAuthenticationModule" lockItem="true" />

将这些行更改为

<section name="windowsAuthentication" overrideModeDefault="Allow" />
<section name="anonymousAuthentication" overrideModeDefault="Allow" />
<add name="WindowsAuthenticationModule" lockItem="false" />
<add name="AnonymousAuthenticationModule" lockItem="false" />

保存并刷新Asp.net页面。

其他回答

在带有IIS 8的Windows Server 2012上,我通过启用ASP.NET 4.5功能解决了这一问题:

然后跟随肯的回答。

在我们的IIS 8案例中,我们发现错误是在尝试查看站点的“身份验证”时产生的,此时:

服务器功能委派标记为“身份验证-Windows”=“只读”该站点有一个web.config,它明确引用了windows身份验证;例如。,

将站点功能委派标记为“Authentication-Windows”=“Read/Write”,错误消失。看起来,由于标记为“只读”的功能,web.config根本不允许引用它,甚至禁用它,因为这显然构成了写入。

以下内容对我有用:

转到项目财产。Web选项卡。设置为本地IIS并设置特定页面。

我有Windows 7和Visual Studio 2013。

我解决了这个问题

转到cmd并执行aspnet_regiis-i

希望对某人有所帮助。

我也遇到过类似的问题,但我使用了以下powershell脚本,该脚本帮助我在单击按钮时实现了上述步骤。

#Install IIS
Import-Module ServerManager

Add-WindowsFeature Web-Server, Web-Asp-Net45, Web-Mgmt-Console, Web-Scripting-Tools, NET-WCF-HTTP-Activation45, Web-Windows-Auth

可以根据需要添加或删除特征列表。