我有一个独立的 IIS7 服务器,它没有加入域,并且正在运行一个简单的 ASP.Net 应用程序。该应用程序有一个 ActiveReports 报表,其中有一个图像控件,我在运行时将图像的路径设置为另一台服务器上的网络共享。当我在与网络共享加入同一域的桌面上的 Visual Studio 中本地运行应用程序时,我能够获取图像,但是当我将应用程序部署到独立 IIS 服务器并在本地运行时IIS 服务器我无法获取图像。我在网络共享上添加了 IIS 服务器登录用户名和密码的权限,现在我可以使用 Windows 资源管理器从 IIS 服务器导航到网络共享,但无法在 IIS 上获得正确的权限。
设置权限以便应用程序可以访问网络共享上的图像文件的正确方法是什么?
最佳答案
当 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 时在文件级别设置的权限。以下是一些信息:
关于c# - 从 IIS .Net 应用程序访问网络共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20687093/