0

我正在主机上测试我的应用程序,当我尝试访问试图从 Aspnet Membership Profile 读取的页面时,它会返回以下消息:

请求“System.Security.Permissions.SecurityPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”类型的权限失败。

看起来 Aspnet Membership 要求在完全信任下运行,但托管服务提供商不允许应用程序在完全信任下运行。有没有办法让它在中等信任级别上工作?

4

2 回答 2

0

1)尝试使用参考(http://forums.asp.net/t/1422162.aspx/1)中的以下内容

using System;
  namespace ConsoleApplication
  {
     [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name = "FullTrust")]

or

<System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Assert, Unrestricted:=True)> _

   class Program
      {
          static void Main(string[] args)
          {
               ...
          }  
      }
  }

2)如果这没有帮助,请尝试<trust level="Full" />在您的 web.config 文件中的<system.web>标签内使用 put

3)运行这个命令caspol.exe -m -ag LocalIntranet_Zone -url \\<network host>\<share name>\ FullTrust -n FullTrustShare
(当然你需要以管理员身份登录才能执行它)

4) 转到控制面板/管理工具/Microsoft .NET Framework 配置/配置安全设置。然后到左侧的我的电脑->运行时安全策略节点并单击右侧的“调整区域安全”链接,给予完全信任

于 2012-08-09T05:35:33.690 回答
0

经过一些研究,看起来 Asp.Net Membership 中的 Profiles 功能需要应用程序的完全信任安全级别。因此,如果有人试图托管使用 Asp.Net Membership 的 Profiles 功能的应用程序,最好检查托管服务提供商是否允许应用程序在完全信任级别下运行。他们中的大多数人没有(我的情况)。我将自己实现一个 Profile 结构。

于 2012-08-10T02:52:00.707 回答