“当站点管理员使用继承的配置文件中的<location allowoverride =”false“>锁定对此部分的访问权限时。”

时间:2015-05-21 13:12:41

标签: c# asp.net asp.net-mvc web-config machine-config

因此,在发布ASP.NET MVC应用程序时出现此错误。它在本地工作正常:

  

“当站点管理员锁定对此的访问权限时会发生这种情况   使用继承的<location allowOverride="false">部分   配置文件。

在我修复之前我遇到了这个错误:

  

“System.Security.SecurityException:请求类型的权限   'System.Security.Permissions.SecurityPermission,mscorlib,   Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'   失败“。

我在Web.config文件中使用了以下代码:

<securityPolicy>
  <trustLevel name="Full" policyFile="internal"/>
</securityPolicy>

所以有人知道如何将我的"<location allowOverride="false">更改为true吗?原因一定是问题。

3 个答案:

答案 0 :(得分:2)

在IIS管理器中,选择服务器节点,然后在底部Feature Delegation中选择。找到您的功能并将其更改为Read/Write

您必须是管理员才能更改此设置。

答案 1 :(得分:1)

我得到了同样的错误......所以我解决了两个步骤。 首先,在web.config文件中添加代码。

<location path="yourdomain.com" allowOverride="true">
  <system.web>
    <trust level="Full" originUrl=""/>
  </system.web>
</location>

第二,更改IIS Manger。 选择服务器。 管理下的开放特征委派 将.NET Trust Level更改为Read / Write(从右侧Action面板)

谢谢

答案 2 :(得分:0)

对我来说,那是我忘记修改了“通用” web.config(位于 C:\ Windows \ Microsoft.NET \ Framework {Your .NET Framework} \ Config中的那个)。 \ web.config )。

我添加了<location allowOverride="false">,所以我删除了此标签,它照常工作。