问题描述
我正在开发一个下载文件的 ASP.Net Core 3.1 API 应用程序。它会将这些文件保存到网站外的文件夹中。我知道允许进程直接写入目标会出现问题。我发现这篇文章讨论了在 IIS7 (IIS7 Permissions Overview - ApplicationPoolIdentity) 上设置 .Net Framework 的内容,但我正在 IIS 8.5 上进行部署,但我找不到用户“IIS AppPool\DefaultAppPool”。
Q1:那么“IIS AppPool”部分到底是什么?通常我习惯使用机器名或域名,但它显然更简洁,因为它可以在所有机器上找到。
解决了!!!!!我已经为应用程序创建了一个独特的应用程序池,我们称之为“上传系统”。我想问如何将它输入到“选择用户或组”中,并认为我应该快速测试它没有引号......它有效!!!!我仍然想知道 Q1 的答案,但我解决了主要问题!!!
解决方法
你找不到 DefaultApppool 的原因是你的应用程序池可能不再有这个应用程序池。如果你想给文件夹写权限,你应该试试 IIS AppPool\Application pool name。例如,您的应用程序池名称是 Test。您应该分配给文件夹的是 IIS AppPool\Test
。
找到您部署的应用所在的应用池,然后将该用户权限分配给该文件夹。