【问题标题】:IIS6 can read but not write to .txt/.mdb files?IIS6 可以读取但不能写入 .txt/.mdb 文件?
【发布时间】:2016-02-02 12:12:27
【问题描述】:

最近将一个 mvc4 项目部署到共享 iis6 服务器上的虚拟目录中,我能够让服务器允许读取文件(部分源于无扩展 URL 的问题)。

然而,自部署以来,我无法将任何内容写入数据库或 txt 文件日志。谈到托管服务,我已经能够确定用户是网络用户,所有用户(包括 asp net)都具有读/写权限。我尝试将日志文件移动到单独的日志文件夹中,但也无济于事。

我得到的错误是:

"[UnauthorizedAccessException: 访问路径
'D:\wwwroot\wwwroot1\isphost\psychtech\psychtech.co.il\Testing\Log\LogHttpRequ ests.txt' 被拒绝。]

任何和所有的想法都将不胜感激!

【问题讨论】:

  • 您是否使用商业托管网站进行托管?如果是这样,他们可能已将您的网站设为只读
  • IIS 使用一个用户帐户,它拥有比用户更多的权限。
  • 感谢 Micky 抽出宝贵时间。托管确实是商业的。但是,该站点具有读/写/修改权限。
  • 记者——也感谢您的时间。我不确定我是否遵循您的想法

标签: c# asp.net-mvc-4 iis-6


【解决方案1】:

消息很清楚,运行您站点的 IIS 工作程序的应用程序池的用户无法访问此路径来写入文件。保存到您的 .mdb 可能会出现同样的问题。

我建议你联系你的房东并询问他这件事,它可能会有所帮助。

附带说明,您可能希望使用适当的数据库,因为文件/mdb 并不意味着加载和并发访问,因为它可能发生在 Web 环境中。它还将具有更高的可扩展性、更可靠、更安全和更能抵御故障。

【讨论】:

  • 雷米,感谢您的回复。事实上,答案似乎是不言而喻的。但是,授予所有用户权限并没有解决问题。至于数据库 - 你是对的,当然。但是,我在这件事上没有发言权。
  • 您是否尝试过对此文件/文件夹进行“完全控制”?如果用户只有“修改”权限,如果所有者不是用户本身,他默认不能修改文件。
【解决方案2】:

几个小时后,托管公司的 IT 专家揭开了这个问题的神秘面纱:当我在 iis6 服务器上部署一个 .net 4 应用程序时,该服务器使用了不同的用户,即:NETWORK SERVICE。一旦授予此服务写入权限,问题就解决了。 我相信这是记者所暗示的。 注意事项:此配置极易受到 SQL 注入的影响,需要在代码中采取额外的安全措施

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-29
    相关资源
    最近更新 更多