Когда администратор сайта заблокировал доступ к этому разделу, используя ‹location allowOverride=false› из унаследованного файла конфигурации.

Поэтому я получаю эту ошибку при публикации моего приложения ASP.NET MVC. Локально работает нормально:

"Это происходит, когда администратор сайта заблокировал доступ к этому разделу с помощью <location allowOverride="false"> из унаследованного файла конфигурации.

У меня была эта ошибка до того, как я исправил:

«System.Security.SecurityException: запрос на разрешение типа« System.Security.Permissions.SecurityPermission, mscorlib, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = b77a5c561934e089 'не удалось».

Я использовал следующий код в своем файле Web.config:

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

Так кто-нибудь знает, как я могу изменить свой: "<location allowOverride="false"> на true? Потому что это должно быть проблемой.


person Cleon    schedule 21.05.2015    source источник


Ответы (3)


В диспетчере IIS выберите узел сервера и в нижней части Feature Delegation. Найдите свою функцию и измените ее на Read/Write.

Вы должны быть администратором, чтобы изменить этот параметр.

person Peter Hahndorf    schedule 21.05.2015
comment
Хорошо, я знаю, это звучит очень странно, но на моем компьютере нет диспетчера IIS. Я пробовал все эти шаги, но не работает: technet.microsoft.com/en-us/library/cc785858%28v=ws.10%29.aspx - person Cleon; 21.05.2015
comment
Ладно, ничего, я установил. Где именно находится серверный узел? - person Cleon; 21.05.2015
comment
@Cleon - в дереве слева указано имя вашего компьютера. - person Peter Hahndorf; 21.05.2015
comment
Итак, я в делегировании функций. Какую функцию следует изменить на чтение/запись? - person Cleon; 21.05.2015
comment
Должен ли я просто изменить их все на чтение/запись? - person Cleon; 21.05.2015
comment
Нет, вы должны иметь их так же, как настроен ваш рабочий сервер. Этот раздел позволяет перезаписывать определенные настройки в локальном файле web.config. Чтение/запись дает больше возможностей любому, кто может редактировать файл web.config. Все зависит от вашей среды, но имейте в виду, что, возможно, на рабочем сервере у вас не будет доступа к этим настройкам. - person Peter Hahndorf; 21.05.2015

Я получал ту же ошибку... поэтому я решил ее двумя шагами. Во-первых, добавление кода в файл web.config.

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

и во-вторых, изменение IIS Manger. выберите сервер. Откройте делегирование функций под управлением, измените уровень доверия .NET на чтение/запись (на правой панели действий)

Спасибо

person Ryan Koir    schedule 10.01.2017

Для меня это было то, что я забыл, что я изменил «общий» файл web.config (тот, который находится в C:\Windows\Microsoft.NET\Framework{Ваш .NET Framework}\Config\web. конфигурации).

Я добавил <location allowOverride="false">, поэтому удалил этот тег, и все заработало как обычно.

person manna    schedule 24.05.2019