Web Services 请求“System.Security.Permissions.FileIOPermission..”类型的权限失败

nkoocmlb  于 2022-11-15  发布在  其他
关注(0)|答案(4)|浏览(228)

在Windows 2003上调用写入本地驱动器上的文件的Web服务方法时,我遇到此错误。
“系统.安全.安全异常:对类型“系统.安全性.权限.FileIOPermission,mscorlib,版本=2.0.0.0,区域性=中性,公钥标记=b77a5c561934e089”的权限的请求失败。”
我已完成以下步骤:

  • 网站使用localSystem标识在appPool中运行
  • 网站模拟管理员组中的用户。
  • Web服务程序集具有完全信任
  • Web服务的URL在计算机的web.config中具有完全信任。
  • 文件夹的写入安全性具有模拟用户

那么,为什么此Web服务仍在抱怨FileIOPermission?完全信任包括FileIOPermission。

8yoxcaq7

8yoxcaq71#

经过大量的故障排除,它归结为一个错误,我在web.config中犯下的位置标记有一个路径www.example.com,但在IIS中它是example.com!

f0ofjuux

f0ofjuux2#

最后,我们发现了这个问题。在Windows中构建文件后,我们将其放入一个zip文件中。当文件被添加到zip文件中时,窗口会将一个阻止属性添加到所有文件中,这些文件在解压文件夹后仍然存在。这导致文件无法正常运行。右键单击文件可以删除“阻止”属性(一次一个),选择“属性”,然后单击底部的“取消阻止”按钮。下面是一个示例图片:
https://www.howtogeek.com/wp-content/uploads/2011/08/image10.png
要防止windows添加此阻塞属性,可以查看以下线程:
Can I stop windows from “Blocking” zip files

sc4hvdpw

sc4hvdpw3#

也许这已经无关紧要了,但我这样解决了:

Project > Properties > Security > Enable ClickOnce security settings - Uncheck

4ioopgfo

4ioopgfo4#

右键单击项目-〉属性-〉安全选项卡-〉启用单击一次设置
单击“计算权限”。
在“需要完全信任”消息上单击“是”。
然后问题就解决了。

相关问题