如何通过Web访问网络驱动器?

时间:2010-02-04 18:30:42

标签: c# asp.net vb.net iis networking

我们有大约2000名员工。每个都有一个共享驱动器来存储他们的一些文件。此共享驱动器指向我们网络的中心位置。

示例:

约翰的F:开车 - > \\ ournetwork \ john.doe
Jane的F:开车 - > \\ ournetwork \ jane.doe

每个用户的根目录“ournetwork”都有一个标有其用户名的文件夹。我不必担心目录创建,因为已经为我完成了。这些用户都绑定到我们的AD进行身份验证。文件夹名称== AD用户名。

我们希望能够允许我们的用户通过网页从我们的网络外部访问其映射的“F”驱动器。我理解所涉及的编程(假设它是这样)将不依赖于它们的映射驱动器,而是依赖于上面公布的UNC路径。

我愿意接受如何完成这项工作的建议。 ASP.NET?是否只有像WebDAV这样的IIS解决方案? (虽然win 7上的客户端WebDAV似乎已被打破,因此可能会被取消)。还有别的吗?

感谢。

1 个答案:

答案 0 :(得分:1)

您可以像在其他地方一样指定网络上文件的名称:

Dim myStream As IO.FileStream = IO.File.Open("\\myserver\myshare\myfile", IO.FileMode.Open)
          Dim myBytes As Byte()
myStream.Read(myBytes, 0, numberOfBytesToRead)

棘手的部分是确保您以具有访问权限的帐户访问该文件。通常,ASP.net代码作为“匿名”或“系统”帐户运行,具有有限的权限。您需要指定ASP.net页面作为具有该文件访问权限的特定用户运行。然后,您需要在web.config文件中启用模拟,以便ASP.net实际以该用户身份访问该文件。