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 に答える