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

时间:2011-12-20 20:29:29

标签: asp.net iis-6

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

我需要添加任何延迟设置,我已经将Asp.net和网络服务添加到虚拟路径指向的phsical路径上的项目文件中。

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


        FileInfo f = new FileInfo(pic3);


        if (f.Exists)
        {

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

感谢。

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

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

更改您的应用程序池标识:

您需要通过访问网站属性“主目录”标签了解您的网站正在使用哪个应用程序池(应用程序池是最后一项)

Website Properties - Home Directory tab (IIS6)

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

Application Pool Properties - Identity tab (IIS6)

也可以在serverfault.com上查看此答案:Permission for ASP.NET application on web server to access shared folder on another server

这是一步一步设置自定义应用程序池标识ASP.Net and IIS Support Team Blog for Microsoft France

答案 2 :(得分:0)

您需要chmod共享文件夹,以便它和/或其他人可读写。通常主机有一个接口。据我所知,无法通过代码设置权限。