我正在使用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