私はthis Impersonator classを使用してアクセス権のあるディレクトリにファイルをコピーしています。偽装者を使用してファイルをコピーすると、不正アクセス例外がスローされます
public void CopyFile(string sourceFullFileName,string targetFullFileName)
{
var fileInfo = new FileInfo(sourceFullFileName);
try
{
using (new Impersonator("username", "domain", "pwd"))
{
// The following code is executed under the impersonated user.
fileInfo.CopyTo(targetFullFileName, true);
}
}
catch (IOException)
{
throw;
}
}
このコードはほぼ完全に機能します。 私が直面している問題は、sourceFullFileNameがのようなフォルダにあるファイルである場合です。元のユーザーはアクセスできますが、偽装者ではないC:\ Users \ username \ Documentsです。
な場所からファイルをコピーしようとしているときに、私は取得しています例外がある:
型「System.UnauthorizedAccessException」の未処理の例外がmscorlib.dll で発生しました追加情報:パスへのアクセス」をC:\ Users \ username \ Documents \ file.txt 'が拒否されました。
ねえ、それは、どのように実際に何が起こるかを確認するために、[プロセスモニタ](https://technet.microsoft.com/en-us/sysinternals/processmonitor.aspx)を使用する方法についてきちんと:-) –
私のクラスですファイルレベル(実際のユーザー、実際のファイル、要求された実際のアクセス許可など) –
うわー!あなたが非常に良い仕事をしたことに直面することを幸せにしてください。ありがとうございます – ehh