System.Web.Providers在中等信任级别下无法工作。

8
我有一个使用Microsoft ASP.NET通用提供程序(NuGet)进行成员身份验证和角色的ASP.NET WebForms应用程序。在完全信任的情况下,一切正常,但当我编辑web.config以指定中等信任时,在加载访问成员身份的页面时出现以下错误: 我已经搜索了网络,没有找到关于这是否是已知限制或是否有解决方法的详细信息。我正在开发开源应用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>

你有没有走过这个过程 http://msdn.microsoft.com/en-us/library/wyts434y%28v=vs.100%29.aspx?(“配置部分信任可见程序集”似乎很有趣) - jbl
我尝试将partialTrustVisibleAssemblies添加到web.config中,但是得到了相同的错误(为了保险起见,也尝试了fullTrustAssemblies,但没有运气)。不过这是可以预料的,因为这个技巧是设计用来处理标记有AllowPartiallyTrustedCallersAttribute的程序集的,而System.Web.Providers显然不是其中之一。 - Roger
1
你能否发布一下你的web.config中的Membership|RoleManager|Profile|Sessionstate标签? - Win
1个回答

1
我认为可能是因为在cookies中捕获角色,您需要删除这部分或将其设置为false,然后检查是否正常工作。
由于cookie不被视为安全,中等安全级别会阻止cookie和许多其他内容。它是清除者(从剩余/临时文件中获取黑客数据)的基本材料。
我希望这样做可以解决问题。

不幸的是,那并没有帮助。我尝试了一些关于 cookie 设置的变化,但错误始终如一。需要注意的是,我的最后一个版本使用了不同的提供程序,但相同的 roleManager 设置,在中等信任级别下确实起作用。 - Roger

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接