Tro*_*unt 5 asp.net security hosting
我目前正在使用ASP.NET 3.5 / IIS7应用程序,正在使用WinHost作为临时托管环境。我遇到了一些我认为是权限问题的戏剧,票务流程刚刚达到“您自己”的阶段。
这是我想做的事情:
var dir = Server.MapPath("~/MyFolder/NewPath");
Directory.CreateDirectory(dir);
Run Code Online (Sandbox Code Playgroud)
这是我得到的回应:
拒绝访问路径“ E:\ web \ MyAccount \ MyFolder \ NewPath”。
说明:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中起源的更多信息。
异常详细信息:System.UnauthorizedAccessException:拒绝访问路径“ E:\ web \ MyAccount \ MyFolder \ NewPath”。
堆栈跟踪显示CreateDirectory行失败。该应用程序在本地运行良好,并且该应用程序池在其下运行的标识具有对“ MyFolder”路径的写访问权。在这两种环境中,信任级别都设置为“完全”。
WinHost的指导是:
默认情况下,asp.net用户对您的站点具有完全权限。
进一步查看,WindowsIndentity.GetCurrent()。Name返回“ W02 \ aspnet_17884”,它似乎是帐户特定的标识。我的感觉是该帐户无权写入应用程序的文件系统,但是当我在此提示WinHost时,我收到了:
您遇到的问题与您的应用程序配置有关。
和
我建议您做的是注册然后在DiscountASP.NET社区论坛中发布您的问题
这显然是为什么问题现在出现在Stack Overflow上的原因:)
谁能建议任何应用程序级别的配置更改?这是否更有可能是托管站点上的权限问题?谢谢。
更新:我也在WinHost论坛上提出了问题。
答案是……网络部署破坏了它。实际上,严格来说,答案是权限根本不存在(如预期),但原因似乎是 Web 部署以某种方式删除了写入权限。我可以从具有发布 ACL 能力的 Web 部署的角度看到这一点,但为什么 WinHost 允许它操纵包含网站的目录的权限超出了我的范围。
有关我的问题(以及 WinHost 的回复)的更多信息,请访问他们的论坛,主题为No write access to file system。
| 归档时间: |
|
| 查看次数: |
1953 次 |
| 最近记录: |