IIS - 拒绝访问路径

时间:2015-02-06 07:02:32

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

这个问题被问了几百万次,但我已经尝试过这些解决方案但仍无法找出错误出现的原因:

访问路径' \ 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"的身份。

以下代码提供了身份和#34; NETWORK SERVICE"。

WindowsIdentity identity = HttpContext.Request.LogonUserIdentity;

应用程序在我自己的计算机上工作正常(相同的下载目录),但在部署后出现此问题。

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

3 个答案:

答案 0 :(得分:19)

试试这个:

  

“拒绝访问路径'xxxxxx'。”

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

  1. 右键单击文件夹
  2. 转到“安全标签”
  3. 点击修改
  4. 点击添加
  5. 点击Addvance
  6. 立即查看
  7. 授予IIS_IUSRS(完全控制权)
  8. 的权限
  9. 单击确定
  10. 单击确定
  11. 点击允许
  12. 中的Full Control
  13. 单击确定
  14. 再次运行应用程序
  15. 注意:如果以上内容无效,请尝试授予相同权限 NETWORKNETWORK SERVICE用户

答案 1 :(得分:1)

对于我的情况,我去了项目的根文件夹,右键单击它并打开属性窗口并取消选中只读属性。单击“确定”后,全部开始工作。

答案 2 :(得分:1)

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