6

在我的应用程序中,我FileStream用来读取文件,该文件位于网络中某处的文件共享上。所以我的remoteFilePath变量是这样的:\\computername\folder\file.pdf

FileStream fileStream = new FileStream(remoteFilePath, FileMode.Open, FileAccess.Read, FileShare.None, 1024 * 1024)

不幸的是,我运行这个应用程序的用户(我登录到 PC 的用户)没有访问这个文件共享的权限。我有另一个用户(域、登录名和密码)可以访问这些文件。

是否可以使用其他用户凭据将文件获取到文件流?我可以冒充用户获取文件,然后继续使用我自己的用户吗?

4

2 回答 2

7

谢谢您的回答。由于该共享位于另一个域中,因此冒充并不容易。

我找到了另一个更简单的解决方案。我映射了一个网络驱动器,并检查了选项Connect using different credentials。然后我连接到这个驱动器而不是远程路径。

string mappedFilePath = filePath.Replace(@"\\computername\", @"Y:\")

并在构造函数中使用这个新字符串FileStream

于 2012-08-20T08:22:39.857 回答
1

您应该使用模拟。更多信息请访问http://msdn.microsoft.com/en-us/library/w070t6ka.aspx

于 2012-08-17T08:04:39.460 回答