微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net – System.Web.Providers不适用于中等信任

我有一个使用Microsoft ASP.NET Universal Providers(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,PublicKeyToken=31bf3856ad364e35" />
  </providers>
</roleManager>

解决方法

我想这可能是因为在cookie中扮演角色,

< roleManager enabled =“true”cacheRolesInCookie =“true”cookieProtection =“验证”...... 删除该部分,或使其成为假,然后检查它是否正常工作.. 由于中等安全性会阻止cookie和更多东西,因为cookie不被认为是安全的.它是清道夫的基本材料(从遗留/临时文件中窃取数据). 我希望这会……

原文地址:https://www.jb51.cc/aspnet/248394.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐