Question

J'essaie d'installer Subtext dans un environnement de niveau de confiance moyen (hôte: Crystaltech ) et l’erreur suivante (voir ci-dessous). J'ai été capable de faire la configuration de l'administration mais quand il essaie d'aller sur le blog pour une utilisation réelle, boum.

Je sais que je pourrais "améliorer". l’environnement jusqu’à un niveau de confiance total, mais je veux comprendre pourquoi l’erreur se produit et les conséquences de ce déplacement vers une confiance totale avant que je ne le fasse.

Pour développer cette question; Quels sont les "niveaux de confiance"?

  

Exception de sécurité

     

Description: La   application a tenté d'effectuer une   opération non autorisée par la sécurité   politique. Pour accorder à cette application le   autorisation requise s'il vous plaît contacter   votre administrateur système ou changer   le niveau de confiance de l'application dans le   fichier de configuration.

     

Détails de l'exception:   System.Security.SecurityException:   Demande de permission de type   'System.Security.Permissions.SecurityPermission,   mscorlib, version = 2.0.0.0,   Culture = neutre,   PublicKeyToken = b77a5c561934e089 '   a échoué.

     

Erreur source:

     

Une exception non gérée a été générée.   pendant l'exécution du courant   demande web. Informations concernant le   origine et lieu de l'exception   peut être identifié à l'aide de l'exception   trace de pile ci-dessous.

     

Trace de pile:

     

[SecurityException: demande du   permission de type   'System.Security.Permissions.SecurityPermission,   mscorlib, version = 2.0.0.0,   Culture = neutre,   PublicKeyToken = b77a5c561934e089 '   a échoué.]
  System.Web.Security.UrlAuthorizationModule.CheckUrlAccessForPrincipal (Chaîne   virtualPath, utilisateur IPrincipal, String   verbe) +47
  Subtext.Framework.UrlManager.UrlReWriteHandlerFactory.GetHandlerForUrl (String   url) +66
  Subtext.Framework.UrlManager.UrlReWriteHandlerFactory.ProcessHandlerTypePage (HttpHandler   item, contexte HttpContext) +143
  Subtext.Framework.UrlManager.UrlReWriteHandlerFactory.GetHandler (HttpContext   contexte, String requestType, String   url, chemin de la chaîne) +340
  System.Web.HttpApplication.MapHttpHandler (HttpContext   contexte, String requestType,   Chemin VirtualPath, chaîne   pathTranslated, utilisation booléenneAppConfig)   +175 System.Web.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute ()   +128 System.Web.HttpApplication.ExecuteStep (IExecutionStep   step, Boolean & amp; terminéSynchrone)   +161

Était-ce utile?

La solution

Je ne pense pas qu'il existe un autre moyen de contourner l'erreur que de passer en confiance totale ou de supprimer l'appel de CheckUrlAccessForPrincipal () et de recompiler.

Mais, à première vue, ce problème particulier a déjà été corrigé dans le sous-texte SVN (révision 3290). Ils ont également ajouté une nouvelle tâche de génération pour le sous-texte 2.0.1, qui devrait inclure le correctif. Je suppose que cela sera publié quand il sera prêt.

Autres conseils

Les niveaux de confiance ne sont en réalité que des pointeurs sur certains fichiers security.config. Les niveaux de confiance par défaut sont définis dans C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG \ web.config, " Medium " confiance pointant vers web_mediumtrust.config.

Comme pour l’exception, jeter un coup d’œil à System.Web.Security.UrlAuthorizationModule.CheckUrlAccessForPrincipal () avec un réflecteur révèle que la méthode est attribuée à [SecurityPermission (SecurityAction.Demand, Unrestricted = true)], ce qui signifie qu’elle nécessite un autorisation de sécurité illimitée, dont l'exécution n'est pas sous confiance moyenne.

Plus de ressources à ajouter au moulin de csgero:

http: // www .kowitz.net / archive / 2008/08/15 / upgradeing-to-subtext-2.0-fail.aspx

Il y a un petit commentaire de Phil Haack, je suppose qu'il est occupé avec d'autres choses en ce moment:)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top