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
Veuillez ajouter l'exception et le suivi de la pile à votre question. – jrummell
Quelle est l'erreur localement si vous définissez votre confiance à moyen? –
C'est l'erreur locale. – user1012750