Ich habe eine ASP.NET WebForms App mit Microsoft ASP.NET Universal Providers (NuGet) für Mitgliedschaft und Rollen. Bei voller Vertrauensstellung funktioniert alles einwandfrei, aber wenn ich web.config editiere, um mittlere Vertrauenswürdigkeit anzugeben, erhalte ich beim Laden einer Seite, die auf die Mitgliedschaft zugreift, folgende Fehlermeldung:System.Web.Providers funktioniert nicht in Medium Trust
Typ 'System.Web.Providers.DefaultMembershipProvider' kann nicht instanziiert werden eine teilweise vertrauenswürdige Sicherheitsrichtlinie (AllowPartiallyTrustedCallersAttribute ist auf der Zielassembly nicht vorhanden).
Ich habe das Web gesucht und habe nicht viele Informationen darüber gefunden, ob dies eine bekannte Einschränkung ist oder ob es einen Workaround gibt. Ich arbeite an der Open-Source-App Gallery Server Pro, die in der MS Web Gallery vertrieben wird und mittlere vertrauenswürdige Umgebungen unterstützen muss.
Irgendein Einblick?
[Bearbeiten] Per Antrag, hier ist die web.config Sachen (ich bin keine Profile oder den Sitzungsstatus Provider):
<membership defaultProvider="DefaultMembershipProvider">
<providers>
<clear />
<add name="DefaultMembershipProvider" applicationName="Gallery Server Pro" connectionStringName="GalleryDb" passwordFormat="Clear" enablePasswordRetrieval="true" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="50" minRequiredPasswordLength="2" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</providers>
</membership>
<roleManager enabled="true" cacheRolesInCookie="true" cookieProtection="Validation" defaultProvider="DefaultRoleProvider">
<providers>
<clear />
<add name="DefaultRoleProvider" applicationName="Gallery Server Pro" connectionStringName="GalleryDb" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</providers>
</roleManager>
Gehen Sie durch diesen Prozess http://msdn.microsoft.com/en-us/library/wyts434y%28v=vs.100%29.aspx? ("Konfigurieren sichtbarer Partial Trust Assemblies" scheint interessant) – jbl
Ich habe versucht, partialTrustVisibleAssemblies zu web.config hinzuzufügen und habe den gleichen Fehler (auch versucht FullTrustAssemblies für gutes Maß, aber kein Glück). Dies wird jedoch erwartet, da dieser Trick für die Arbeit mit Assemblys entwickelt wurde, die mit AllowPartiallyTrustedCallersAttribute markiert sind, was System.Web.Providers anscheinend nicht tut. – Roger
Können Sie Ihre Mitgliedschaft | RoleManager | Profil | Sessionstate-Tags von web.config posten? – Win