当我们尝试打开管理员登录页面时,我们遇到以下安全性异常的问题。
Security Exception
Description: The application attempted to perform an operation not allowed by the security policy.
To grant this application the required
permission please contact your system administrator or change the application's trust level in the configuration file.
Exception Details: System.Security.SecurityException: Request failed.
首先,我们使用成员资格进行用户身份验证操作 我们有两个单独的应用程序,一个用于管理员一个用户,每个用户都有自己的Web.Config文件。
用户数据上传到wwwroot,但管理员数据上传到wwwroot / admin和admin webconfig我们将Login.aspx定义为admin的默认页面(当用户输入mysite.com/admin时),我们为admin创建了一个虚拟目录(从我们有两个名为/ admin的路径为mysite.com/wwwroot/admin的Web.Config文件
有趣的是,我们在其他一些项目中使用相同的方法(具有相同的成员资格和web.config以及相同的主机),但它们运行良好,并且我们的某些项目中不时出现上述问题(并非总是如此)发生)事件虽然所有的设置和基础设施 (对于所有项目)都是一样的。
我们还有一些app_Webreference文件夹用于我们的一些Web服务,这可能是问题的原因但我不确定。我们试图改变安全信任级别,但主机不允许我们这样做,如果它是来自主机所以为什么我们不能与我们的其他网站有这个问题所以目前我不知道什么似乎是问题,但它真的有问题请帮帮我
非常感谢
答案 0 :(得分:12)
我也提供了帮助,只是在 web.config 中添加了几行,以便在我的网络应用程序中允许完全信任级别。
<system.web>
<trust level="Full" />
</system.web>
答案 1 :(得分:8)
我在MSDN上发现这篇文章,我认为是相关的(异常细节似乎是相同的)。它说它适用于ASP.NET 1.0和1.1但它也是从2005年10月开始的,所以可能没有更新到显式说你使用的任何版本(大概是> = 4.0):
&#34; FIX: How to resolve Security Exception (ASP.NET)?&#34;通过 Anand Narayanaswamy MVP 。
<强>症状强>
描述:应用程序尝试执行安全策略不允许的操作。要授予此应用程序所需的权限,请与系统管理员联系或在配置文件中更改应用程序的信任级别。
<强>例外:强>
System.Security.SecurityException: Request Failed
原因:由于域未放置在IIS上自己的应用程序池下,并且由于服务器上的machine.config文件中缺少适当的信任级别,因此发生上述错误。 / p>
解决强>
使用Internet信息服务(IIS)为相应的域创建应用程序池。登录到远程桌面并打开IIS管理器。展开树应用程序池。右键单击并选择New |申请池并提供所需的详细信息。
- 醇>
下一步是将域放在新创建的应用程序池下。要执行此操作,请展开标记为“网站”的树,然后展开其下的“默认网站”。选择您的域名,右键单击它,然后选择“属性”菜单项。选择标记为Application pool的下拉框,然后选择新创建的应用程序池名称。
注意:如果已在服务器上安装了某些常用的主机控制面板,则可以自动执行上述步骤。
- 将以下代码行添加到machine.config文件中。此文件可以位于文件夹下 - 根驱动器名称:\ WINDOWS \ Microsoft.NET \ Framework \ v1.1.4322 \ CONFIG
醇>
<location path="yourdomain.com" allowOverride="true">
<system.web>
<trust level="Full" originUrl=""/>
</system.web>
</location>
(A)您应该要求服务器的管理权限和远程桌面访问权限以解决上述问题。如果您无权访问服务器,则应联系您的托管服务提供商。
(B)将yourdomain.com替换为发生问题的相应域名。
警告:对machine.config文件的错误修改将导致服务器上的ASP.NET服务出现问题。
答案 2 :(得分:1)
我刚刚解决了它,它可能对后来的读者有用。
OR
将以下内容插入网站web.config:
<system.web>
<trust level="Full" />
</system.web>