【问题标题】:IIS - Access to the path is deniedIIS - 访问路径被拒绝
【发布时间】: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。

【问题讨论】:

    标签: c# asp.net iis access-denied


    【解决方案1】:

    试试这个:

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

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

    1. 右键文件夹
    2. 转到安全选项卡
    3. 点击编辑
    4. 点击添加
    5. 点击高级
    6. 立即查找
    7. 授予IIS_IUSRS 权限(完全控制)
    8. 点击确定
    9. 点击确定
    10. 在允许中点击Full Control
    11. 点击确定
    12. 再次运行应用程序

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-11-11
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多