使用其他用户凭据从远程路径获取FileStream文件

在我的应用程序中,我使用FileStream从文件中读取,该文件位于网络中的某个文件共享位置。 所以我的remoteFilePath变量类似于: \\computername\folder\file.pdf

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

不幸的是,我正在运行此应用程序的用户(我已登录到PC)无法访问此文件共享。 我有另一个用户(域,登录名和密码),可以访问这些文件。

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

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

我发现了另一个更容易的解决方 我映射了一个网络驱动器,并选中了Connect using different credentials选项。 然后我连接到此驱动器而不是远程路径。

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

并在FileStream构造函数中使用此新字符串。

就像我讨厌发布一个链接一样

http://platinumdogs.wordpress.com/2008/10/30/net-c-impersonation-with-network-credentials/

有很多代码可供使用。

你应该使用模仿。 有关详细信息,请访问http://msdn.microsoft.com/en-us/library/w070t6ka.aspx