IIS - 访问路径被拒绝

Posted

技术标签:

【中文标题】IIS - 访问路径被拒绝【英文标题】:IIS - Access to the path is denied 【发布时间】:2015-04-06 06:30:10 【问题描述】:

这个问题已经被问了上百万次了,但我已经尝试了这些解决方案,但仍然无法找出为什么会出现这个错误:

对路径“\server1\Folder1\Folder2\Folder3\file1.dwg”的访问被拒绝。

这是返回错误的操作:

    public ActionResult Download(string fileName)
    
        fileName = fileName + ".dwg";
        string path = Path.Combine(@"\\server1\Folder1\Folder2\Folder3\", fileName);
        return File(path, "application/octet-stream", fileName);
    

我已尝试为多个用户名授予“Folder3”权限,例如“SERVER1\NETWORK SERVICE” - 完全控制。

应用程序正在默认网站下运行。应用程序在 DefaultAppPool 下运行,并且 DefaultAppPool 的标识为“NetworkService”。

以下代码给出身份“网络服务”。

WindowsIdentity identity = HttpContext.Request.LogonUserIdentity;

该应用程序在我自己的计算机上运行良好(相同的下载目录),但在部署后出现了此问题。

服务器正在运行 Windows 2008 R2 SP1 和 IIS 7.5。

【问题讨论】:

【参考方案1】:

试试这个:

“对路径‘xxxxxx’的访问被拒绝。”

正如错误所说,您需要为文件夹分配权限

    右键文件夹 转到安全选项卡 点击编辑 点击添加 点击高级 立即查找 授予IIS_IUSRS 权限(完全控制) 点击确定 点击确定 在允许中点击Full Control 点击确定 再次运行应用程序

注意:如果这些步骤不起作用,请尝试将相同的权限授予NETWORKNETWORK SERVICE 用户

【讨论】:

【参考方案2】:

对于我的情况,我转到项目的根文件夹,右键单击它并打开属性窗口并取消选中只读属性。单击确定后,一切开始工作。

【讨论】:

【参考方案3】:

如果在您的服务器上启用匿名身份验证,请为 IUSR 帐户设置读取权限。要允许访问应用程序池标识,请为 IIS_USERS 组设置读取权限。对于 UNC 路径,请确保您的共享文件夹具有相关权限(有关详细信息,请参阅https://technet.microsoft.com/en-us/library/cc726004(v=ws.11).aspx)。

【讨论】:

以上是关于IIS - 访问路径被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

IIS拒绝访问

如何修复访问被拒绝路径错误asp.net应用程序访问网络共享

在 IIS 上拒绝访问路径

“对路径的访问被拒绝.” 是怎么回事

vs2022路径拒绝访问

“对路径的访问被拒绝.” 是怎么回事