System.Security.SecurityException:请求“System.Security.Permissions.EnvironmentPermission,mscorlib”类型的权限失败的
当我尝试运行“已发布”本地网站时,出现以下错误。
“/”应用程序中的服务器错误。
<小时>安全异常
描述:应用程序尝试执行安全策略不允许的操作。要授予此应用程序所需的权限,请联系您的系统管理员或在配置文件中更改应用程序的信任级别。
异常详细信息:
System.Security.SecurityException
:请求类型为'System.Security.Permissions.EnvironmentPermission、mscorlib、Version=2.0 的权限。 0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089'
失败。来源错误:
执行当前 Web 请求期间生成未处理的异常。有关异常来源和位置的信息可以使用下面的异常堆栈跟踪来识别。
堆栈跟踪:
<小时>[SecurityException:请求“System.Security.Permissions.EnvironmentPermission,mscorlib,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”类型的权限失败。] System.Security.CodeAccessSecurityEngine.Check(对象需求, StackCrawlMark&stackMark, Boolean isPermSet) +0 System.Security.CodeAccessPermission.Demand() +54 System.Environment.ExpandEnvironmentVariables(字符串名称)+650 cc..cctor() +88
版本信息: Microsoft .NET Framework 版本:2.0.50727.4927; ASP.NET版本:2.0.50727.4927
阅读了一些博客后,我在Web.config
中添加了以下内容,但仍然出现相同的错误。
<system.web>
<trust level="Full"/> ...
IIS 中是否有任何设置可以配置信任级别?我想在不更改文件后面的代码的情况下克服该错误。
I get the following error when I tried to run a 'Published' local website.
Server Error in '/' Application.
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 for the permission of type'System.Security.Permissions.EnvironmentPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
failed.Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[SecurityException: Request for the permission of type 'System.Security.Permissions.EnvironmentPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.] System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) +0 System.Security.CodeAccessPermission.Demand() +54 System.Environment.ExpandEnvironmentVariables(String name) +650 cc..cctor() +88
Version Information: Microsoft .NET Framework Version:2.0.50727.4927; ASP.NET Version:2.0.50727.4927
After reading some blogs, I added the following in Web.config
, but still have the same error.
<system.web>
<trust level="Full"/> ...
Is there any settings in IIS to configure the trust level? I would like to overcome the error without changing code behind files.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您有权访问 IIS 管理器 (inetmgr),则可以设置应用程序的信任级别:
要在 iis 服务器的全局级别更改此配置,请在服务器上使用以下命令行:
以下是 MSDN 源该信息:http://technet.microsoft.com/en-us/library/cc753658(WS.10).aspx
If you have an access to the IIS Manager (inetmgr), you can set the trust level of you application :
To change this configuration at a global level of your iis server use the following command line on the server :
Here is the MSDN source for that info : http://technet.microsoft.com/en-us/library/cc753658(WS.10).aspx
如果将信任级别设置为完全不起作用,您可以尝试将应用程序池用户更改为有权访问该路径的用户。
If setting trust level to full does not work, you can try changing the application pool user to a user that has access to the path.