所以我的Content文件夹中有一个.json文件需要读取和写入。这两个功能在我的本地网站上运行良好,但是当我将它推向生产时,只有从工作和写作中读取才会给我一个500错误。
是否有保存或更新现场制作网站的“内容”文件夹中的现有文件?
答案 0 :(得分:1)
当您处于开发阶段时,IIS Express将以您的用户身份运行,并拥有您的用户帐户所执行权限的权限。在生产中,IIS(或特别是AppPool)默认运行为IIS_USR,并且仅具有分配给该用户的权限。
为了安全起见,IIS_USR仅在文档根目录中具有读取和/或执行权限。通常,Web服务器允许修改的网站文件将是错误的事物。如果您需要允许此操作,则需要向IIS_USR(或AppPool模拟的任何其他用户)授予对Content目录的写访问权。
但是,应该注意,不打算修改Content目录中的文件。至少,重新发布该网站可以很好地覆盖或破坏您所做的任何修改。在最坏的情况下,你可能会打开一个攻击向量。我建议将您的写入限制在站点文档根目录之外的目录中,然后如果需要从那里访问文件,则可以添加虚拟目录。