permissions - 允许 ASP.NET Core API 应用程序的写入权限
问题描述
我正在开发一个下载文件的 ASP.Net Core 3.1 API 应用程序。它将这些文件保存到网站外部的文件夹中。我知道允许进程直接写入目标会有一个问题。我发现这篇文章讨论了在 IIS7 上为 .Net Framework 进行设置(IIS7 权限概述 - ApplicationPoolIdentity),但我在 IIS 8.5 上进行部署,但找不到用户“IIS AppPool\DefaultAppPool”。
Q1:那么“IIS AppPool”部分到底是什么?通常我习惯于作为机器名或域名,但它显然更整洁,因为它可以在所有机器上找到。
解决了!!!!!我已经为应用程序创建了一个独特的应用程序池,我们称之为“上传系统”。我正要问如何将它输入到“选择用户或组”中,并认为我应该在不带引号的情况下快速测试它......它成功了!!!!我仍然想知道 Q1 的答案,但我的主要问题正在解决!!!!
解决方案
找不到 DefaultApppool 的原因是您的应用程序池可能不再有此应用程序池。如果你想给文件夹写权限,你应该试试 IIS AppPool\Application pool name。例如,您的应用程序池名称是 Test。您应该分配给文件夹的是IIS AppPool\Test
.
找到您部署的应用程序所在的应用程序池,然后将此用户权限分配给该文件夹。
推荐阅读
- python - 从 Gunicorn/Nginx WSGI API 权限错误运行 Docker SDK
- redirect - 如何在 Shopify 中强制所有 URL 都带有斜杠
- android - React-native 如何在打开日期选择器时隐藏键盘
- javascript - 需要帮助添加从 geojson 源加载的自定义图标标记和弹出窗口
- php - 将 stmt 传递给另一个函数后得到结果
- java - IBM 软件架构师,Eclipse 错误:“Java 已启动但返回退出代码=-1”
- javascript - 将 d3v3 圆环图更新为 d3v4 后缺少切片
- python - 通过 matplotlib 的 Imagemagick 似乎在创建时截断了 GIF 长度
- bash - 如何将“watch”命令作为“at”命令传递参数运行
- java - 在 App Engine 开发服务器 Servlet 中查看替换字符