System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.EnvironmentPermission, mscorlib' failed

萝らか妹 提交于 2019-12-08 16:12:15

问题


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.


回答1:


If you have an access to the IIS Manager (inetmgr), you can set the trust level of you application :

  • start > run > inetmgr
  • select your web site
  • click on ".NET Trust Levels"
  • select "Full Trust" in the drop down list

To change this configuration at a global level of your iis server use the following command line on the server :

appcmd set config /commit:WEBROOT /section:trust /level:Full

Here is the MSDN source for that info : http://technet.microsoft.com/en-us/library/cc753658(WS.10).aspx




回答2:


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.



来源:https://stackoverflow.com/questions/8470216/system-security-securityexception-request-for-the-permission-of-type-system-se

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!