对部署在iis上的asp.net的访问被拒绝

对部署在iis上的asp.net的访问被拒绝,asp.net,iis-6,Asp.net,Iis 6,我有一个asp.net web应用程序,可以从远程主机访问共享文件夹上的文件, 当web应用程序从vs2008运行时,它将检索图像文件并显示它们。但是,当我使用虚拟目录在IIS中部署同一项目时,应用程序无法访问共享文件夹上的文件,它说访问被拒绝 我已经在虚拟路径指向的物理路径上的项目文件中添加了Asp.net和网络服务 string pic3 = @"\\M37350\temp\GraphicUserImage.jpg"; FileInfo f = new FileI

我有一个asp.net web应用程序,可以从远程主机访问共享文件夹上的文件, 当web应用程序从vs2008运行时,它将检索图像文件并显示它们。但是,当我使用虚拟目录在IIS中部署同一项目时,应用程序无法访问共享文件夹上的文件,它说访问被拒绝

我已经在虚拟路径指向的物理路径上的项目文件中添加了Asp.net和网络服务

    string pic3 = @"\\M37350\temp\GraphicUserImage.jpg";


        FileInfo f = new FileInfo(pic3);


        if (f.Exists)
        {

            Image1.ImageUrl = pic3;
            Image1.Visible = true;
        }

谢谢。

您需要对共享文件夹进行chmod,使其对您和/或其他人可读写。通常主机有一个用于此的接口。据我所知,权限无法从代码中设置。

您需要对共享文件夹进行chmod,以便您和/或其他人能够读写该文件夹。通常主机有一个用于此的接口。据我所知,权限无法从代码中设置。

VS2008在执行web应用程序时正在使用您的凭据。您需要在IIS虚拟目录中设置一个帐户(可以访问远程文件夹的帐户)。

VS2008在执行web应用程序时正在使用您的凭据。您需要在IIS虚拟目录中设置一个帐户(可以访问远程文件夹的帐户)。

您需要将应用程序池的标识设置为一个域帐户(
domain\user
),该帐户可以访问此共享文件夹,但内置的“网络服务”帐户无权访问远程共享文件夹

要更改应用程序池标识,请执行以下操作:

通过转到网站属性“主目录”选项卡(应用程序池是最后一项),您需要知道您的网站正在使用哪个应用程序池

关闭网站属性,在IIS中的应用程序池下找到相应的应用程序池,打开属性并转到“标识”选项卡以更改用户

也可以在serverfault.com上查看此答案:


为了一步一步地设置自定义应用程序池标识,您需要将应用程序池的标识设置为一个域帐户(
domain\user
),该帐户可以访问此共享文件夹,但内置的“网络服务”帐户无权访问远程共享文件夹

要更改应用程序池标识,请执行以下操作:

通过转到网站属性“主目录”选项卡(应用程序池是最后一项),您需要知道您的网站正在使用哪个应用程序池

关闭网站属性,在IIS中的应用程序池下找到相应的应用程序池,打开属性并转到“标识”选项卡以更改用户

也可以在serverfault.com上查看此答案:


为了更恰当地设置自定义应用程序池标识,您需要一步一步地将文件移动到虚拟目录中,这样您就不需要更恰当地提升运行iismo的帐户的权限,您需要将文件移动到虚拟目录中,这样就不需要提升运行IISI的帐户的权限。我已在IIS上选择了应用程序池和虚拟目录,并已将目录安全性从IUSR_M38329更改为我已在IIS上选择了应用程序池和虚拟目录,并已更改了目录IUSR_M38329 toI的安全性已将iis上的应用程序池和虚拟目录更改为使用Administrator user而不是IUSR_MachineName,但似乎仍无法访问共享文件夹上的文件右键单击目录安全-->编辑身份验证方法下的网站,取消选中“匿名”,并确保选中“集成窗口”认证。在web.config网站上添加此选项可使asp.net以windows用户帐户身份运行,该帐户可以访问共享文件夹资源。我已将iis上的应用程序池和虚拟目录更改为使用Administrator user而不是IUSR_MachineName,但似乎仍无法访问共享文件夹上的文件右键单击网站在“目录安全性-->编辑身份验证方法”下,取消选中“匿名”,并确保选中“集成windows身份验证”。在web.config网站上添加此选项可使asp.net以windows用户帐户身份运行,该帐户可以访问共享文件夹资源。