这个问题已经被问了上百万次,但我已经尝试了这些解决方案,仍然不能找出为什么这个错误出现:
对路径“\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);
}
我曾尝试为多个用户名授予“Folder 3”的权限,例如“SERVER1\NETWORK SERVICE”-完全控制。
应用程序在默认网站下运行。应用程序在DefaultAppPool下运行,并且DefaultAppPool的标识为“NetworkService”。
以下代码给出标识“NETWORK SERVICE”。
WindowsIdentity identity = HttpContext.Request.LogonUserIdentity;
应用程序在我自己的计算机上运行良好(相同的下载目录),但部署后出现了这个问题。
服务器正在运行Windows 2008 R2 SP1和IIS 7.5。
4条答案
按热度按时间w8ntj3qf1#
试试看:
“拒绝存取路径'xxxxxx'。”
如错误所示,您需要为文件夹分配权限
1.右键单击文件夹
1.转到安全选项卡
1.点击编辑
1.点击添加
1.点击高级
1.立即查找
1.给予
IIS_IUSRS
权限(完全控制)1.单击确定
1.单击确定
1.单击允许中的“打开
Full Control
”1.单击确定
1.再次运行应用程序
**注意:**如果这些步骤不起作用,请尝试为
NETWORK
、NETWORK SERVICE
用户给予相同的权限rlcwz9us2#
在我的例子中,我转到我的项目的根文件夹,右键单击它,打开属性窗口,取消选中Read-only属性。
iq0todco3#
如果在服务器上启用了匿名身份验证,请为IUSR帐户设置读取权限。若要允许访问应用程序池标识,请为IIS_USERS组设置读取权限。对于UNC路径,请确保对共享文件夹具有相关权限(有关详细信息,请参阅https://technet.microsoft.com/en-us/library/cc726004(v=ws.11).aspx)。
w6lpcovy4#
请给予对您的目录的完全控制权限。请执行此操作-右键单击文件夹-转到安全性-从“编辑”授予对IIS_USERS的访问权限