ASP.NET Core应用访问公共文档文件夹遇权限拒绝问题求助
ASP.NET Core访问公共文档文件夹权限问题解决
为什么公共文档文件夹也会权限拒绝?
虽然系统「公共文档」文件夹默认对所有用户开放基础访问权限,但通常仅包含读取权限。如果你的应用需要写入操作(比如备份文件),或者目标子文件夹(C:\Users\Public\Documents\USRAIL\EdiImporterWorkerService\Backups)的权限被修改过,ASP.NET Core应用运行的身份(开发时的当前用户、生产环境的IIS应用池/服务账户)就可能没有足够权限执行操作。
最简单的解决方法
直接给应用运行的身份添加目标文件夹的读写权限:
- 右键目标文件夹,打开「属性」→「安全」标签;
- 点击「编辑」→「添加」,输入应用对应的运行身份:
- 开发环境(IIS Express/Kestrel直接运行):输入当前登录的Windows用户名;
- 生产环境IIS:输入
IIS AppPool\[你的应用池名称]; - Windows服务运行:输入服务配置的账户名;
- 给该身份勾选「读取」和「写入」权限,依次点击「确定」保存设置。
可选的规范优化(非必须)
如果是生产环境,更推荐避免直接依赖系统公共文件夹:在应用部署目录下创建专用存储文件夹,或者通过appsettings.json配置自定义存储路径,再给应用运行身份分配对应权限。但这一步不如直接添加权限简便。
内容的提问来源于stack exchange,提问作者Jonathan Wood
相关产品推荐
相关产品推荐

