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
点击确定
再次运行应用程序
注意:如果这些步骤不起作用,请尝试将相同的权限授予NETWORK
、NETWORK SERVICE
用户
【讨论】:
【参考方案2】:对于我的情况,我转到项目的根文件夹,右键单击它并打开属性窗口并取消选中只读属性。单击确定后,一切开始工作。
【讨论】:
【参考方案3】:如果在您的服务器上启用匿名身份验证,请为 IUSR 帐户设置读取权限。要允许访问应用程序池标识,请为 IIS_USERS 组设置读取权限。对于 UNC 路径,请确保您的共享文件夹具有相关权限(有关详细信息,请参阅https://technet.microsoft.com/en-us/library/cc726004(v=ws.11).aspx)。
【讨论】:
以上是关于IIS - 访问路径被拒绝的主要内容,如果未能解决你的问题,请参考以下文章