2012-08-17 35 views
4

在我的應用程序中,我使用FileStream從文件中讀取文件,即在網絡中的文件共享中。所以我remoteFilePath變量是一樣的東西:\\computername\folder\file.pdf使用其他用戶憑據從遠程路徑獲取文件到FileStream

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

不幸的是,我運行這個應用程序(即我登錄到與PC)沒有訪問該文件共享用戶。我有另一個用戶(域,登錄&密碼),有權訪問這些文件。

是否可以使用其他用戶憑據來獲取文件到文件流?我可以冒充用戶只有才能獲取文件,然後繼續使用我自己的用戶?

+0

類似的線程 - http://stackoverflow.com/questions/295538/how-to-provide-user-name-and-password-when-connecting-to-a-network-share – adatapost 2012-08-17 08:04:48

+1

這似乎是這樣您需要:http://msdn.microsoft.com/en-us/library/w070t6ka(v=vs.100).aspx – Icarus 2012-08-17 08:12:16

+0

請參閱http://stackoverflow.com/questions/295538/how-to-provide-user -name-and-password-when-connecting-to-a-network-share/1197430#1197430 – Lijo 2013-02-04 09:34:08

回答

5

謝謝你的回答。由於該份額是在另一個領域,因此冒充並不容易。

我發現了另一個更簡單的解決方案。我映射了一個網絡驅動器,並檢查了選項Connect using different credentials。然後我連接到這個驅動器而不是遠程路徑。

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

並在FileStream的構造函數中使用這個新字符串。

+0

不錯的解決方法! – Zenuka 2014-02-03 08:04:01

+1

您能否更具體地解釋操作? – user2878881 2014-10-13 14:02:17

相關問題