从IIS .Net应用程序访问网络共享

时间:2013-12-19 16:42:04

标签: c# asp.net iis-7

我有一个独立的IIS7服务器,它没有加入域,而是运行一个简单的ASP.Net应用程序。此应用程序具有ActiveReports报告,该报告具有图像控件,我将运行时图像的路径设置为另一台服务器上的网络共享。当我在连接到与网络共享相同的域的桌面上的Visual Studio中本地运行应用程序时,我能够获取图像,但是当我将应用程序部署到独立的IIS服务器并在本地运行时IIS服务器我无法获取图像。我在网络共享上添加了IIS服务器登录用户名和密码的权限,我现在可以使用Windows资源管理器从IIS服务器导航到网络共享,但我无法在IIS上获得权限。

设置权限以便应用程序可以访问网络共享上的图像文件的正确方法是什么?

2 个答案:

答案 0 :(得分:3)

当IIS访问网络资源时,它使用与IIS进程关联的安全上下文(帐户)。这主要由应用程序池控制,除非您在代码级别进行任何类型的模拟。

为了纠正您的问题,您可能需要使用可以访问网络资源的安全帐户确保应用程序池正在运行。以下是一些可能有用的链接

http://technet.microsoft.com/en-us/library/cc771170(v=WS.10).aspx http://www.iis.net/learn/manage/configuring-security/application-pool-identities

此外,不要忘记,如果您使用Windows文件服务作为您的网络共享,则有两个级别的权限,即在共享级别设置的权限以及在使用NTFS时在文件级别设置的权限。以下是一些信息:

http://technet.microsoft.com/en-us/library/cc754178.aspx

答案 1 :(得分:1)

一个想法:在IIS7服务器上,创建指向共享的虚拟目录。创建虚拟目录时,IIS将允许您输入访问共享所需的凭据。

然后,您需要使用图像路径来引用共享。