2013-04-16 13 views
8

Üyelik ve roller için Microsoft ASP.NET Evrensel Sağlayıcıları (NuGet) kullanan bir ASP.NET WebForms uygulamasına sahibim. Tam güven altında her şey iyi çalışıyor, ancak orta güvenini belirtmek için web.config dosyasını düzenlediğimde, üyeliğe erişen bir sayfayı yüklerken bu hatayı alıyorum:System.Web.Providers, orta güvende çalışmıyor

"System.Web.Providers.DefaultMembershipProvider" yazın, aşağıdaki örnekte gösterilemez: kısmen güvenilen bir güvenlik ilkesi (AllowPartiallyTrustedCallersAttribute, hedef derleme üzerinde mevcut değildir).

Web'de arama yaptım ve bunun bilinen bir sınırlama olup olmadığı veya bir geçici çözüm olup olmadığı hakkında fazla bilgi bulamadım. MS Web Galerisi'nde dağıtılan ve ortam güven ortamlarını desteklemesi gereken açık kaynaklı uygulama olan Gallery Server Pro üzerinde çalışıyorum.

Herhangi bir fikir?

[Düzenle] isteği üzerine burada (I profiller veya oturum durumu sağlayıcısını kullanarak değilim) web.config şeyler: Ben çünkü kurabiye rol kapma olabilir düşünüyorum

<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> 
+0

Bu işlemle http://msdn.microsoft.com/en-us/library/wyts434y%28v=vs.100%29.aspx geçmesi mü? ("Kısmi Güven Görünür Meclisleri Yapılandırma" ilginç görünüyor) – jbl

+0

Web.config'e partialTrustVisibleAssemblies eklemeyi denedim ve aynı hatayı aldım (aynı zamanda fullTrustAssemblies'ı iyi bir ölçü için denedim, ancak şans yok). Bu beklenen, ancak, bu hile System.Web.Providers görünür değil AllowPartiallyTrustedCallersAttribute ile işaretli derlemeler üzerinde çalışmak üzere tasarlanmıştır. – Roger

+1

Üyelik | RoleManager | Profil | Sessionstate web.config etiketlerini gönderebilir misiniz? – Win

cevap

1

orta güvenlik çerezleri bir blok gibi,

<roleManager enabled="true" cacheRolesInCookie="true" cookieProtection="Validation" ...

.. çalışma görünmediğini kontrol

o bölümü çıkarın, ya da yanlış yapıp d çok daha fazla şey, çünkü çerezler güvenli kabul edilmez. Temizleyiciler için temel malzeme (soldan/temp dosyalarından veri kesmek). Bunu umuyoruz

..

+0

Ne yazık ki, bu yardımcı olmadı. Çerez ayarlarında birkaç varyasyon denedim ama her zaman aynı hataydı. Ben farklı bir sağlayıcı kullanılan ama aynı roleManager ayarları, DID orta güvende çalışan son sürümü not almalıyım. – Roger