对远程服务器上的文件夹的写权限

时间:2012-02-03 06:18:50

标签: asp.net file-upload permission-denied

我在localhost上托管一个网站,需要使用FileUploadControl将图像文件上传到名为ImageServer的另一台服务器。

if (FileUploadControl.HasFile)
    {
        try
        {
            string filename = Path.GetFileName(FileUploadControl.FileName);
            FileUploadControl.SaveAs(@"\\ImageServer\" + filename);
        }
        catch (Exception ex)
        {
            throw;
        }
    }

但是一旦我尝试提交图片,我就会遇到此权限错误。

  

异常详细信息:System.UnauthorizedAccessException:拒绝访问路径'\ ImageServer \ xxx.jpg'。

     

ASP.NET无权访问所请求的资源。考虑   授予对ASP.NET请求的资源访问权限   身份。 ASP.NET具有基本进程标识(通常是   IIS 5上的{MACHINE} \ ASPNET或IIS 6上的网络服务)如果使用的话   该申请不是冒充。如果申请是   冒充通过,身份将是   匿名用户(通常是IUSR_MACHINENAME)或经过身份验证的用户   请求用户。要授予对文件的ASP.NET访问权限,请右键单击该文件   在资源管理器中,选择“属性”并选择“安全”选项卡。点击   “添加”以添加适当的用户或组。突出显示ASP.NET   帐户,并选中所需访问权限的框。

我查看了文件夹安全选项卡,并且网络服务,IUSR,IIS AppPool \ Image和Everyone被授予完全控制权。还有什么可以遗漏?我不确定应该给ImageServer上的图像文件夹授予哪些权限,让我的localhost写文件给他们。

P / S:两台服务器都使用IIS 7.5

通过Windows资源管理器手动将文件复制到\\ ImageServer \但

1 个答案:

答案 0 :(得分:0)

主要技巧是创建一个指向\\ ImageServer \。

的虚拟目录

我找到了一篇文章here。虽然是关于IIS 6,但我认为在IIS 7上工作也不会有问题。