2012-08-07 55 views
1

我有一個運行FullTrust權限的.NET 3.5應用程序。我想使用模擬來讀取網絡共享上的文件。該應用程序在登錄用戶的上下文中運行,並且該用戶不會是管理員。我的同事說,要使用不同憑據登錄服務器,需要本地管理員權限。它是否正確?WindowsIdentity.Impersonate是否需要本地管理員權限?

有用的鏈接至今:

http://msdn.microsoft.com/en-us/library/system.security.principal.windowsidentity

回答

2

我不這麼認爲,大部分的共享驅動器的要求認證,當你嘗試連接到它們。 我記得我從公司域中取出計算機,然後通過C#應用程序使用其他憑據(不是admin,但有權訪問驅動器)連接共享驅動器。 因爲我只用PrincipalContext(ContextType.Domain)和憑證UI彈出。

因此,您的第一個檢查清單是確保您的帳戶有權訪問網絡共享。

+0

感謝您的回答。我需要在沒有任何登錄提示出現的情況下無縫地執行此操作。 – dior001 2012-08-07 18:25:46

+1

如果您使用可以使用Windows身份驗證訪問驅動器的某個帳戶登錄,請參閱此配置,最簡單的方法是將網絡驅動器映射到本地計算機上,使您的應用程序運行時無任何額外的頭痛。但是,對於非窗口身份驗證,我會稍後告訴您其他解決方法。 – perilbrain 2012-08-07 18:37:37

+1

@ ernie99: - 請看這裏的解決方案http://stackoverflow.com/questions/1432213/copy-file-on-a-network-shared-drive – perilbrain 2012-08-07 18:40:00

相關問題