【问题标题】:What FileIO permissions do you normally have in Medium Trust?您通常在 Medium Trust 中拥有哪些 FileIO 权限?
【发布时间】:2013-12-21 13:45:48
【问题描述】:

这似乎是我一次又一次遇到的问题 - 如何找出在给定信任级别中是否允许特定功能。我认为 MSDN 应该有这个功能的类层次结构。反正就吐槽吧……

谁能告诉我中等信任中的应用程序文件夹(和子文件夹)的正常文件访问权限是什么?我的理解是可以读、可以执行、可以列出,但是可以修改和写吗?

如果这些基本信息很容易获得,我们深表歉意,但我无法找到这个问题的直接答案。

祝愿~帕特里克

【问题讨论】:

  • 我刚刚发现以下代码在运行中等信任的本地计算机上失败:FileStream f = File.OpenRead(@"/robots.txt");。这个标准文本文件显然是由同一代码的其他部分打开的,那么为什么我的代码会失败呢?有点卡在这里。真的希望有人能提出一个前进的方向。 - 帕特里克

标签: asp.net security hosting


【解决方案1】:

您应该有权访问您的应用程序目录及其子目录。特定命令失败的原因是“/”映射到硬盘驱动器的根目录,因此您实际上是在尝试打开“C:\robots.txt”,这是被禁止的。您需要调用Server.MapPath("~/robots.txt"),它将返回“C:\full\path\to\robots.txt”,然后将 that 传递给 File.OpenRead。

当然,由于中等信任is effectively dead at this point,您应该考虑只在完全信任下运行您的网站。

【讨论】:

  • 感谢您的回答。在闲逛了几个小时后,我实际上自己解决了这个问题。愚蠢的错误。嗬!然而,关于 Medium Trust 被放弃的文章非常有趣。我经常阅读几个论坛,但根本没有出现在我的雷达上。谢谢你。 - 帕特里克
猜你喜欢
  • 2010-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-08
  • 2019-08-28
  • 2012-10-19
  • 1970-01-01
相关资源
最近更新 更多