2011-10-27 6 views
1

Cette ligne de code:ASP MVC Exception de sécurité dans le niveau de confiance moyen

var user = users.SingleOrDefault(u => u.EmailAddress == form.EmailAddress); 

où les utilisateurs est une collection de

public class User 
{ 
    [Key, Required] 
    public string EmailAddress { get; set; } 

    public string PasswordHash { get; set; } 

    public string PasswordSalt { get; protected set; } 
} 

est produit une exception quand au niveau de confiance moyen.

Existe-t-il un moyen de le faire fonctionner dans ce niveau de confiance?

J'ai essayé de signer mes assemblages avec une clé mais le problème est toujours là. J'utilise Entity Framework et ASP.NET 4.0.

Je ne peux pas modifier le niveau de confiance (le code fonctionne correctement en toute confiance).

Voici l'exception Stack:

SecurityException: Richiesta di autorizzazione di tipo 'System.Security.Permissions.ReflectionPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' non soddisfatta.] 
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.Data.Common.Internal.Materialization.Translator.DemandMemberAccess() +50 
System.Data.Common.Internal.Materialization.Shaper`1..ctor(DbDataReader reader, ObjectContext context, MetadataWorkspace workspace, MergeOption mergeOption, Int32 stateCount, CoordinatorFactory`1 rootCoordinatorFactory, Action checkPermissions, Boolean readerOwned) +165 
System.Data.Common.Internal.Materialization.ShaperFactory`1.Create(DbDataReader reader, ObjectContext context, MetadataWorkspace workspace, MergeOption mergeOption, Boolean readerOwned) +93 
System.Data.Objects.Internal.ObjectQueryExecutionPlan.Execute(ObjectContext context, ObjectParameterCollection parameterValues) +736 
System.Data.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption) +149 
System.Data.Objects.ObjectQuery`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator() +44 
System.Linq.Enumerable.SingleOrDefault(IEnumerable`1 source) +184 
System.Data.Objects.ELinq.ObjectQueryProvider.<GetElementFunction>b__2(IEnumerable`1 sequence) +41 
System.Data.Objects.ELinq.ObjectQueryProvider.ExecuteSingle(IEnumerable`1 query, Expression queryRoot) +59 
System.Data.Objects.ELinq.ObjectQueryProvider.System.Linq.IQueryProvider.Execute(Expression expression) +150 
System.Data.Entity.Internal.Linq.DbQueryProvider.Execute(Expression expression) +102 
System.Linq.Queryable.SingleOrDefault(IQueryable`1 source, Expression`1 predicate) +300 
+0

Veuillez ajouter l'exception et le suivi de la pile à votre question. – jrummell

+0

Quelle est l'erreur localement si vous définissez votre confiance à moyen? –

+0

C'est l'erreur locale. – user1012750

Répondre

Questions connexes