2013-07-14 3 views
0

J'ai supprimé et recréé le sous-domaine pour un site ASP.Net. J'ai ensuite téléchargé les fichiers, mais quand j'ouvre et ouvre un navigateur, je reçois une exception de sécurité qui stipule que je dois modifier le fichier de configuration de l'application pour accorder l'approbation. Malheureusement, le message d'erreur ne dit pas le fichier qui a causé le problème, la confiance qui est un problème, ou tout ce que je peux voir.ASP.Net sur le site réel génère une exception de sécurité

Voici ce que je vois:

Server Error in '/' Application. 

Security Exception 

Description: The application attempted to perform an operation not allowed by the security policy. To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file. 

Exception Details: System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed. 

Source Error: 


[No relevant source lines] 

Source File: App_Web_iqeawexe.0.cs Line: 0 

Stack Trace: 


[SecurityException: Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.] 
    System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) +0 
    System.Security.CodeAccessSecurityEngine.Check(CodeAccessPermission cap, StackCrawlMark& stackMark) +31 
    System.Security.CodeAccessPermission.Demand() +46 
    System.Reflection.RuntimeAssembly.VerifyCodeBaseDiscovery(String codeBase) +118 
    System.Reflection.RuntimeAssembly.GetName(Boolean copiedName) +69 
    System.Reflection.Assembly.GetName() +12 
    DevExpress.Web.ASPxClasses.Internal.HttpUtils.<get_DXValidatorType>b__0(Assembly i) +9 
    System.Linq.WhereArrayIterator`1.MoveNext() +55 
    System.Linq.Enumerable.FirstOrDefault(IEnumerable`1 source) +4216052 
    DevExpress.Web.ASPxClasses.Internal.HttpUtils.get_DXValidatorType() +120 
    DevExpress.Web.ASPxClasses.Internal.HttpUtils.GetValueFromRequest(HttpRequest request, String key, Boolean skipValidation) +25 
    DevExpress.Web.ASPxClasses.Internal.HttpUtils.GetValueFromRequest(String key, Boolean skipValidation) +60 
    DevExpress.Web.ASPxClasses.Internal.MvcUtils.get_CallbackName() +79 
    DevExpress.Web.ASPxClasses.Internal.RenderUtils.IsAnyCallback(Page page) +51 
    DevExpress.Web.ASPxClasses.Internal.ResourceRegistrator.EnsureResourcesSynchronized(Page page) +55 
    DevExpress.Web.ASPxClasses.Internal.ResourceRegistrator.RegisterResource(Page page, ResourceData resource, Boolean useStandardRegistration) +19 
    DevExpress.Web.ASPxClasses.ASPxWebControl.RegisterHoverIncludeScripts() +84 
    DevExpress.Web.ASPxClasses.ASPxWebControl.RegisterClientIncludeScripts() +72 
    DevExpress.Web.ASPxClasses.ASPxWebControl.OnPreRender(EventArgs e) +96 
    DevExpress.Web.ASPxClasses.ASPxDataWebControlBase.OnPreRender(EventArgs e) +32 
    System.Web.UI.Control.PreRenderRecursiveInternal() +103 
    System.Web.UI.Control.PreRenderRecursiveInternal() +175 
    System.Web.UI.Control.PreRenderRecursiveInternal() +175 
    System.Web.UI.Control.PreRenderRecursiveInternal() +175 
    System.Web.UI.Control.PreRenderRecursiveInternal() +175 
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +8431 
    System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +253 
    System.Web.UI.Page.ProcessRequest() +78 
    System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +21 
    System.Web.UI.Page.ProcessRequest(HttpContext context) +49 
    ASP.default_aspx.ProcessRequest(HttpContext context) in App_Web_iqeawexe.0.cs:0 
    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +100 
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75 

pensées?

+0

Courez-vous avec une confiance moyenne? – SLaks

+0

Je pense que je suis de confiance moyenne. Je suis dans un environnement d'hébergement partagé, donc c'est ce que cela donne. Je pense que je me souviens de la correspondance précédente avec le fournisseur d'hébergement Web que c'est vrai. Chose intéressante, le site fonctionnait bien. L'ordinateur a planté la semaine dernière qu'ils ont hébergé mon compte sur. Ils ont reconstruit des choses, mais ont utilisé une ancienne version d'une sauvegarde, peu importe. J'ai décidé que le moyen le plus simple était de supprimer le sous-domaine, de recréer le sous-domaine et de télécharger à nouveau les fichiers. Cette action, cependant, a toujours produit le même message d'erreur. –

+0

Je sais que je ne suis pas autorisé "confiance totale" dans un environnement d'hébergement partagé et que le site fonctionnait bien. Il est possible que lorsque le fournisseur d'hébergement Web a reconstruit la machine, ils ont modifié le niveau de confiance et l'ont rendu plus restrictif que ce qu'apprécie ASP.Net/DevExpress. Je ne sais pas quel composant cause réellement l'échec. La trace de la pile n'était pas claire pour moi. –

Répondre

0

Le problème s'est avéré être un défaut de la version DevExpress. La publication publiée le 8 juillet a brisé les sites Web utilisant le modèle Medium Trust. Ils ont posté un correctif. Voici ce que DevExpress m'a écrit: «Nous avons déjà résolu ce problème dans le contexte de l'exception System.Security.Permissions.FileIOPermission après la mise à jour vers DevExpress 2013.1.5 dans un ticket d'environnement Medium Trust. corrigez et vérifiez si le problème persiste ou non. "

Je ne m'attendais pas à ce qu'une grande entreprise ne fasse pas de tests approfondis, ce qui a rendu ce problème difficile à repérer.

Questions connexes