IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

ASP.NET Entities Framework Security Exception


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 23
    Points : 15
    Points
    15
    Par défaut ASP.NET Entities Framework Security Exception
    Bonjour,

    Je viens de publier mon applications sur un hébergeur ( http://www.ikoula.com/ ) malheureusement j'obtiens une erreur que je n'arrive pas à résoudre.

    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.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
    J'ai spécifié le trust-level comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <system.web>
    <securityPolicy>
    <trustLevel name="Full" policyFile="internal"/>
    </securityPolicy>
    </system.web>
    mais alors j'obtiens l'erreur suivante :

    This configuration section cannot be used at this path. This happens when the site administrator has locked access to this section using <location allowOverride="false"> from an inherited configuration file.
    J'ai évidement contacté le support d'ikoula, il m'assure que le serveur est bien en full trust.

    Apparemment ca serait lié à l'Entity Framework, car j'obtiens cette erreur uniquement sur les pages qui l'utilise.

    Je suis à cours d'idées... je ne sais plus quoi faire.

    Merci d'avance.

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Points : 2 331
    Points
    2 331
    Par défaut
    Jette un œil à ces pages, ça traite du même problème
    http://social.msdn.microsoft.com/for...-56dc0d0b6a29/

    http://blogs.msdn.com/b/shawnfa/arch.../20/57023.aspx

    (le deuxième lien est linké dans le premier)

  3. #3
    Expert confirmé
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Points : 4 066
    Points
    4 066
    Par défaut
    Bonjour,

    J'avais déjà blogué sur ce sujet : [ASP.NET] Hébergement avec le trust level Medium. Tu devrais simplement envoyer un mail au support Ikoula, ils sont très réactifs et sauront te guider dans la mise en place de ta solution.

    Attention également aux autres problèmes que tu pourras rencontrer comme le recyclage des AppPool IIS toutes les 5 minutes...ce qui est problématique si tu utilises la Session par exemple (il y a d'ailleurs un post récent à ce propos sur ce forum).

    En espérant t'avoir aidé.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    Merci pour vos réponses ...

    J'ai bien évidement contacté le support Ikoula.
    Il m'assure que je suis en Full Trust, ils me propose également de changé le niveau de trust via l'interface Plesk. En effet Full trust est sélectionné ... mais si j'utilise le bout de code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    AspNetHostingPermissionLevel GetCurrentTrustLevel() {
    foreach (AspNetHostingPermissionLevel trustLevel in
            new AspNetHostingPermissionLevel [] {
                AspNetHostingPermissionLevel.Unrestricted,
                AspNetHostingPermissionLevel.High,
                AspNetHostingPermissionLevel.Medium,
                AspNetHostingPermissionLevel.Low,
                AspNetHostingPermissionLevel.Minimal 
            } ) {
        try {
            new AspNetHostingPermission(trustLevel).Demand();
        }
        catch (System.Security.SecurityException ) {
            continue;
        }
     
        return trustLevel;
     }
     
     return AspNetHostingPermissionLevel.None;
    }
    Ce qui permet de m'indiquer le niveau de confiance. Il me retourne Medium ...

    Si je spécifie mon propre niveau de confiance comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <securityPolicy>
    <trustLevel name="Full" policyFile="internal"/>
    </securityPolicy>
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        <securityPolicy>
          <trustLevel name="Custom" policyFile="customWeb_mediumtrust.config" />
        </securityPolicy>
        <trust level="Custom" originUrl="" />
    j'obtiens bien évidement l'erreur suivante :

    This configuration section cannot be used at this path. This happens when the site administrator has locked access to this section using <location allowOverride="false"> from an inherited configuration file.
    Je ne sais vraiment plus quoi faire ... Ikoula et l'interface d'administration (Plesk) assurent que je suis en Trust, mais le test effectué ci dessus m'indique que je suis en medium ...

    Que faire ?

    Merci d'avance.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 9
    Points : 12
    Points
    12
    Par défaut
    Peut tu me dire qu'elle type de pack tu as pris chez eu ??

    Tu pourrais aussi nous fournir tes log's d'erreur en entié ?

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    Je possède le pack : MSDN avec Ikoula 2010

    Et voici le message d'erreur en entier.

    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.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.

    SecurityException: Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]
    System.Data.Objects.LightweightCodeGenerator.ValidateSetterProperty(RuntimeMethodHandle setterMethodHandle, MethodInfo& setterMethodInfo, Type& realType) +28
    System.Data.Common.Internal.Materialization.Translator.CreatePropertyBindings(StructuredColumnMap columnMap, Type clrType, ReadOnlyMetadataCollection`1 properties) +142
    System.Data.Common.Internal.Materialization.Translator.Visit(EntityColumnMap columnMap, TranslatorArg arg) +173
    System.Data.Query.InternalTrees.EntityColumnMap.Accept(ColumnMapVisitorWithResults`2 visitor, TArgType arg) +14
    System.Data.Common.Internal.Materialization.Translator.ProcessCollectionColumnMap(CollectionColumnMap columnMap, TranslatorArg arg, ColumnMap discriminatorColumnMap, Object discriminatorValue) +227
    System.Data.Common.Internal.Materialization.Translator.Visit(SimpleCollectionColumnMap columnMap, TranslatorArg arg) +13
    System.Data.Query.InternalTrees.SimpleCollectionColumnMap.Accept(ColumnMapVisitorWithResults`2 visitor, TArgType arg) +14
    System.Data.Common.Internal.Materialization.Translator.TranslateColumnMap(QueryCacheManager queryCacheManager, ColumnMap columnMap, MetadataWorkspace workspace, SpanIndex spanIndex, MergeOption mergeOption, Boolean valueLayer) +330
    System.Data.Common.Internal.Materialization.TypedShaperFactoryCreator`1.TypedCreate(QueryCacheManager cacheManager, ColumnMap columnMap, MetadataWorkspace metadata, SpanIndex spanInfo, MergeOption mergeOption, Boolean valueLayer) +72
    System.Data.Common.Internal.Materialization.ShaperFactory.Create(Type elementType, QueryCacheManager cacheManager, ColumnMap columnMap, MetadataWorkspace metadata, SpanIndex spanInfo, MergeOption mergeOption, Boolean valueLayer) +129
    System.Data.Objects.Internal.ObjectQueryExecutionPlan.Prepare(ObjectContext context, DbQueryCommandTree tree, Type elementType, MergeOption mergeOption, Span span) +277
    System.Data.Objects.ELinq.ELinqQueryState.GetExecutionPlan(Nullable`1 forMergeOption) +775
    System.Data.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption) +157
    System.Data.Objects.ObjectQuery`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator() +44
    System.Linq.Enumerable.FirstOrDefault(IEnumerable`1 source) +203
    System.Data.Objects.ELinq.ObjectQueryProvider.<GetElementFunction>b__1(IEnumerable`1 sequence) +40
    System.Data.Objects.ELinq.ObjectQueryProvider.ExecuteSingle(IEnumerable`1 query, Expression queryRoot) +59
    System.Data.Objects.ELinq.ObjectQueryProvider.System.Linq.IQueryProvider.Execute(Expression expression) +109
    System.Linq.Queryable.FirstOrDefault(IQueryable`1 source) +269
    Core.Entity.ConfigRepository.GetById(eConfig id_) in ConfigRepository.cs:27
    Web._Default.Page_Load(Object sender, EventArgs e) in Default.aspx.cs:16
    System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
    System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
    System.Web.UI.Control.OnLoad(EventArgs e) +99
    System.Web.UI.Control.LoadRecursive() +50
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +6785
    System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +242
    System.Web.UI.Page.ProcessRequest() +80
    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_4l1t24vz.8.cs:0
    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    Après une semaine de bataille avec le support Ikoula, il se sont enfin rendu compte que je n'était pas sur un serveur full trust.

    Ce fût ma première question de support si j'étais sur un serveur full trust ils m'assuraient que oui!

    Il me propose de commander un nouveau serveur ... Merci ikoula!

    Halala quand les société arrêteront de refiler leurs supports au tiers monde ...

    En tout cas merci pour vos réponses.

  8. #8
    Candidat au Club
    Inscrit en
    Novembre 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Bonjour.

    Dans le cadre de mon mémoire, je réalise un webservice .NET qui va se connecter à une database SQL Server. Le service tourne très bien en local.

    Il y a quelques semaines, j'ai donc pris le même hébergement chez Ikoula MSDN et j'ai exactement la même erreur que toi !

    Au niveau du plesk, je vois bien le full trust mais je n'y crois pas trop.
    J'ai l'impression qu'ils nous ont mis sur le même serveur en medium Trust.

    ca me rassure de voir que je suis pas le seul dans ce malheur

    Pour info mon webservice est développé sous Visual studio 2010 et je fais un import de la DB au moyen d'un ADO.NET qui génére un modèle Entity.

    Est-ce qu'on pourrait se tenir au courant de l'évolution? à deux , on sera surement plus efficace pour les faire se bouger

  9. #9
    Candidat au Club
    Inscrit en
    Novembre 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Mes échanges avec ikoula :

    de moi à eux :

    Bonjour,

    Vous pouvez aller à cette adresse :
    http://www.roomtorent.be/virtuel/ et cliquer sur le seul bouton de la page.

    Ce bouton va appeler mon webservice. Ce qui provoquera l'erreur. car mon webservice ne possède pas les droits en full trust (contrairement a ce qui est indiqué dans mon plesk) pour manipuler ma couche ADO




    de eux vers moi
    Bonjour,

    Au niveau de IIS et au niveau de plesk, votre hébergement est en full trust.
    Avez vous vérifier au niveau de votre web.config que celui-ci est bien en full trust.

    de moi vers eux :
    OUIIII grrrrrrrr
    c'est bien indiqué partout !!
    <securityPolicy>
    <trustLevel name="Full" policyFile="internal"/>
    </securityPolicy>



    de eux vers moi et là c'est le MUST , à lire!! :
    Bonjour,

    Nous ne sommes pas développeurs, nous ne pouvons vérifier votre web.config cependant nous observons bien que vous déclarer votre hébergement en full trust.
    Nous vous conseillerons pour pouvoir réaliser votre mémoire de souscrire à une offre flex dont le prisx commence à 9,99 euros par mois.
    Vous y pourrez faire vos développement, sans les contraintes que nous imposons sur nos serveurs mutualisés par mesure de sécurité.



    C'est de l'arnaque pure et dure!!!! Vous en pensez-quoi? C'est du vol, j'ai envie de porter plainte en justice avec toutes les autres personnes lésés dans mon cas , que faire !!?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 14
    Dernier message: 13/07/2012, 17h50
  2. ADO.NET Entity Framework, Astoria, Silverlight -> .NET 3.5 ?
    Par rad_hass dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 08/07/2008, 17h01
  3. MVC & ASP.net : Quel framework utiliser ?
    Par LestoK dans le forum MVC
    Réponses: 4
    Dernier message: 03/06/2008, 13h01
  4. [ADO.NET Entity Framework] génération des tables
    Par anthyme dans le forum Accès aux données
    Réponses: 3
    Dernier message: 22/02/2008, 18h44
  5. Problème ASP NET + IIS + Framework .NET
    Par identifiant_bidon dans le forum ASP.NET
    Réponses: 5
    Dernier message: 04/06/2007, 14h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo