4
假設網絡進程P
在windows帳號A1
下運行。我假設線程(在P
中運行)是否在其他身份下運行(通過Thread.CurrentPrincipal.Identity
獲得),而不是A1
,它在訪問系統資源(如文件等)時仍具有與A1
相同的權限?線程標識
謝謝
假設網絡進程P
在windows帳號A1
下運行。我假設線程(在P
中運行)是否在其他身份下運行(通過Thread.CurrentPrincipal.Identity
獲得),而不是A1
,它在訪問系統資源(如文件等)時仍具有與A1
相同的權限?線程標識
謝謝
我不希望有一個不同的身份,以「繼承」從進程標識權限的線程。
只是爲了確保我運行了一個模擬測試。使用這裏的示例WindowsIdentity.Impersonate我在不同的線程上運行以下代碼。
WindowsIdentity newId = new WindowsIdentity(safeTokenHandle.DangerousGetHandle());
Thread.CurrentPrincipal = new WindowsPrincipal(newId);
string foo = System.IO.File.ReadAllText (@"test.txt");
Console.WriteLine(foo);
即使進程的ID有讀取權限的test.txt它,如果NEWID不會失敗。
謝謝你的幫助 – user437291 2011-01-07 13:18:59
線程不會在對方內運行! – 2011-01-05 21:10:16
我並不是暗示線程正在另一個線程中運行。我說線程是在一個進程內運行的(或者更準確的說...線程在進程P託管的應用程序域內運行) – user437291 2011-01-05 21:17:38