web-dev-qa-db-fra.com

System.Web.AspNetHostingPermission SecurityException lorsqu’on tente d’utiliser Managed Fusion Rewriter sur Godaddy

Je me demande si quelqu'un pourrait m'aider à résoudre un problème que je rencontre en essayant de faire fonctionner mon site sous Goddaddy . J'essaie de faire en sorte que la réécriture d'URL sans extension fonctionne à l'aide du gestionnaire ManagedFusion Rewriter ( http: //www.codeplex.com/urlrewriter/ ) Malheureusement, le message d'erreur suivant s'affiche:

Erreur serveur dans l'application. Exception de sécurité Description: l’application a tenté d’effectuer une opération non autorisée par la stratégie de sécurité. Pour accorder à cette application les autorisations requises, contactez votre administrateur système ou modifiez le niveau de confiance de l'application dans le fichier de configuration.

Détails de l'exception: System.Security.SecurityException: Une demande d'autorisation de type 'System.Web.AspNetHostingPermission, System, version = 2.0.0.0, Culture = neutre, PublicKeyToken = b77a5c561934e089' a échoué.

Erreur de source:

Une exception non gérée a été générée lors de l'exécution de la requête Web en cours. Les informations concernant l'origine et l'emplacement de l'exception peuvent être identifiées à l'aide de la trace de pile d'exceptions ci-dessous.

Trace de la pile:

[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

Informations de version: Microsoft .NET Framework Version: 2.0.50727.1434; Version ASP.NET: 2.0.50727.1434

Je suis runnung en utilisant IIS 7 en mode intégré. J'ai modifié mon fichier web.config en suivant les instructions du fichier readme ici: http://www.codeplex.com/urlrewriter/Release/ProjectReleases.aspx?ReleaseId=22618

Merci beaucoup d'avance.

27
loudsight

J'ai frappé cette même exception sur une nouvelle installation, en changeant l'identité du pool d'applications en NetworkService/aspnet l'a corrigé.

De plus, l'activation du chargement du profil utilisateur sur le pool d'applications a également fonctionné.

38

Essayez ce qui suit:

Pool d'applications -> Paramètres avancés -> Charger le profil des utilisateurs = True

11
David Barrett

pour moi c'était:
1. débloquer tous les fichiers http://nicholasrogoff.wordpress.com/2010/09/01/how-to-bulk-unblock-files-in-windows-7-or-server-2008/
2.restart pool d'applications

5
Renato Heeb

Une des causes de ce problème est lorsque vous avez fait la chose totalement étrange de publier votre application sur le serveur en l’utilisant pour le télécharger à partir d’Internet. Les fichiers seront alors marqués comme provenant d'Internet et les paramètres de sécurité les empêcheront de s'exécuter.

La marque "téléchargé depuis Internet" est stockée dans le système de fichiers en tant que flux de données alternatif NTFS. Utilisez l'outil "Streams" pour afficher et supprimer les indicateurs: http://technet.Microsoft.com/en-us/sysinternals/bb897440.aspx

Puis redémarrez le pool d'applications.

1
Oskar Berggren

J'ai eu ce problème à cause d'un lecteur en réseau au travail. Lorsque j'ai déplacé mon projet sur mon bureau, il a recommencé à fonctionner.

0
Batista

Il s'agit en fait d'un problème connu dans l'environnement GoDaddy Medium Trust. Cependant, avec la dernière version de URL Rewriter 3.0 , tous ces problèmes ont maintenant disparu. S'il vous plaît obtenir la dernière version et laissez-moi savoir si vous avez des problèmes.

0
Nick Berardi

J'ai eu un problème similaire avec GoDaddy. Même si cela ne semblait pas lié au début, car il ne figure pas dans la trace de la pile (et peut ne pas s'appliquer à vous puisque vous utilisez du code tiers), la suppression des appels Response.End() a résolu le problème.

0
Christian Rondeau