System.Web.AspNetHostingPermission SecurityException при попытке использовать ManagedFusion Rewriter на Goddaddy - PullRequest
27 голосов
/ 07 февраля 2009

Интересно, может ли кто-нибудь помочь мне с проблемой, с которой я сталкиваюсь, пытаясь настроить мой сайт и запустить его на Goddaddy? Я пытаюсь заставить работать перезапись URL без расширения с помощью ManagedFusion Rewriter (http://www.codeplex.com/urlrewriter/) К сожалению, я получаю следующую ошибку:

Ошибка сервера в «/» приложении. Исключение безопасности Описание: приложение попыталось выполнить операцию, не разрешенную политикой безопасности. Чтобы предоставить этому приложению необходимое разрешение, обратитесь к системному администратору или измените уровень доверия приложения в файле конфигурации.

Сведения об исключении: System.Security.SecurityException: сбой запроса разрешения типа 'System.Web.AspNetHostingPermission, System, Version = 2.0.0.0, Culture = нейтральный, PublicKeyToken = b77a5c561934e089'.

Ошибка источника:

При выполнении текущего веб-запроса было сгенерировано необработанное исключение. Информацию о происхождении и местонахождении исключения можно определить с помощью приведенной ниже трассировки стека исключений.

Трассировка стека:

[SecurityException: Request for the permission of type 'System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]
System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) +0
System.Security.CodeAccessPermission.Demand() +59
System.Web.Hosting.HostingEnvironment.get_ApplicationID() +61
IIS7Injector.TraceManager.TraceEvent(TraceEventType eventType, String message) +62
IIS7Injector.ConfigManager.IsSkippedUrl(HttpRequest request, String ContentType) +38
IIS7Injector.InjectedContentStream.Write(Byte[] buffer, Int32 offset, Int32 count) +153
ManagedFusion.Rewriter.FormActionFilter.Write(Byte[] buffer, Int32 offset, Int32 count) +485
System.Web.HttpWriter.FilterIntegrated(Boolean finalFiltering, IIS7WorkerRequest wr) +265
System.Web.HttpResponse.FilterOutput() +80
       System.Web.CallFilterExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +54
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +64

Информация о версии: Microsoft .NET Framework Версия: 2.0.50727.1434; ASP.NET версия: 2.0.50727.1434

Я использую IIS 7 в интегрированном режиме. Я изменил свой файл web.config, следуя инструкциям в файле readme: http://www.codeplex.com/urlrewriter/Release/ProjectReleases.aspx?ReleaseId=22618

Заранее большое спасибо.

Ответы [ 7 ]

38 голосов
/ 16 августа 2009

Я столкнулся с тем же исключением при новой установке, изменив удостоверение пула приложений на NetworkService / aspnet, исправив его.

Кроме того, также работало включение загрузки профиля пользователя в пул приложений.

11 голосов
/ 06 декабря 2010

Попробуйте следующее:

Пул приложений -> Расширенные настройки -> Загрузить профиль пользователя = True

5 голосов
/ 30 августа 2012

для меня это было:
1. разблокировать все файлы http://nicholasrogoff.wordpress.com/2010/09/01/how-to-bulk-unblock-files-in-windows-7-or-server-2008/
2.рест пул приложений

1 голос
/ 15 февраля 2013

Одной из причин этой проблемы является то, что вы сделали совершенно странную вещь, опубликовав свое приложение на сервере, используя сервер для загрузки приложения из Интернета. Файлы будут помечены как исходящие из Интернета, а настройки безопасности не позволят им работать.

Метка «скачано из Интернета» хранится в файловой системе как поток альтернативных данных NTFS. Используйте инструмент «Потоки» для отображения и удаления флагов: http://technet.microsoft.com/en-us/sysinternals/bb897440.aspx

Затем перезапустите пул приложений.

0 голосов
/ 09 февраля 2015

У меня была эта проблема из-за сетевого диска на работе. Когда я перенес свой проект на рабочий стол, он снова начал работать.

0 голосов
/ 11 апреля 2012

У меня была похожая проблема с GoDaddy. Несмотря на то, что на первый взгляд это не казалось связанным, так как он не находится в трассировке стека (и может не относиться к вам, поскольку вы используете сторонний код), удаление вызовов Response.End() решило проблему в моем случае.

0 голосов
/ 10 июня 2009

На самом деле это известная проблема со средой GoDaddy Medium Trust. Однако в последнем выпуске URL Rewriter 3.0 все эти проблемы исчезли. Пожалуйста, получите последнюю версию и дайте мне знать, если у вас есть какие-либо проблемы.

...