簡體   English   中英

System.Web.Providers不能以中等信任度運行

[英]System.Web.Providers doesn't work in medium trust

我有一個使用Microsoft ASP.NET通用提供程序(NuGet)作為成員資格和角色的ASP.NET WebForms應用程序。 在完全信任下,一切正常,但是當我編輯web.config以指定中等信任時,在加載訪問成員資格的頁面時出現此錯誤:

無法在部分受信任的安全策略下實例化類型“ System.Web.Providers.DefaultMembershipProvider”(目標程序集中不存在AllowPartiallyTrustedCallersAttribute)。

我已經在網上搜索過,卻沒有找到太多有關此限制是否已知或解決方法的信息。 我正在開發開源應用程序Gallery Server Pro,該應用程序分發在MS Web Gallery中,並且必須支持中等信任環境。

有見識嗎?

[編輯]根據請求,這是web.config的內容(我不使用配置文件或會話狀態提供程序):

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

我認為可能是因為在Cookie中起了重要作用,

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

刪除該部分,或使其為假,然后檢查其是否正常工作。

由於中等安全性將阻止cookie和更多其他東西,因為cookie不被認為是安全的。 它是清道夫的基本資料(從剩余的/臨時文件中竊取數據)。

我希望這樣做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM