请求类型为"系统.安全.权限.文件IOPermission"的权限失败



我正在为Microsoft IIS编写HTTPModule。作为Intarization回调函数的一部分,它在磁盘的配置文件中读取。这在我们的开发环境之一上效果很好,但是在新创建的环境中,我们会收到以下错误:

"/"应用程序中的服务器错误。
安全异常
说明:应用程序试图执行安全策略不允许执行操作。要授予此应用程序所需的权限,请联系您的系统管理员或在配置文件中更改应用程序的信任级别。

源错误:
在执行当前的Web请求期间生成了一个未指导的例外。可以使用下面的异常堆栈跟踪来识别有关异常的原点和位置的信息。

堆栈跟踪:

[SecurityException: Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]
System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) +0
System.Security.CodeAccessPermission.Demand() +55
System.Configuration.ConfigurationFileMap.GetFilenameFromMachineConfigFilePath() +77
System.Configuration.ClientConfigurationHost.OpenExeConfiguration(ConfigurationFileMap fileMap, Boolean isMachine, ConfigurationUserLevel userLevel, String exePath) +44
System.Configuration.ConfigurationManager.OpenExeConfigurationImpl(ConfigurationFileMap fileMap, Boolean isMachine, ConfigurationUserLevel userLevel, String exePath, Boolean preLoad) +112
System.Configuration.ConfigurationManager.OpenMappedExeConfiguration(ExeConfigurationFileMap fileMap, ConfigurationUserLevel userLevel) +50
abc..ctor() in C:reposmyreposrcaConfigurationMyConfig.cs:40
def..ctor() in C:reposmyreposrcaMyModule.cs:48

抛出错误的代码如下

string config_path =  ConfigurationManager.AppSettings["configPath"];
log.Debug("Config path: " + config_path);
ExeConfigurationFileMap configMap = new ExeConfigurationFileMap();
configMap.ExeConfigFilename = config_path;
System.Configuration.Configuration config =
ConfigurationManager.OpenMappedExeConfiguration(configMap, 
ConfigurationUserLevel.None);

信任级别设置为"两个服务器",我们尝试了文件上文件权限的各种组合,因此可能导致此功能?

我们找到了问题。在Windows中构建文件后,我们将它们放入zip文件中。将文件添加到ZIP中时,将封锁属性添加到解压缩文件夹后保留的所有文件中。可以通过右键单击文件,选择属性,然后单击底部的Unblock按钮来解压缩文件后删除这些内容。这是更多信息的链接

https://blogs.msdn.microsoft.com/delay/p/unblockingdownloadedfile/

要防止Windows中的此阻止属性,可以查看以下stackoverflow线程:

https://superuser.com/questions/302146/can-i-stop-windows-from-blocking-zip-files

相关内容

  • 没有找到相关文章