[英]How can I use impersonation to manipulate files/directories on a remote machine with UNC?
[英]Why can't I open a file using impersonation on a remote machine?
我有一個用C#編寫的WCF服務托管在遠程機器上,作為本地管理員帳戶運行。 從我作為活動目錄用戶登錄的計算機,我發送的命令只是告訴它在網絡上打開一個文件。 我有權訪問該文件,但主機上的管理員帳戶卻沒有。 我在需要模擬的方法上使用[OperationBehavior(Impersonation = ImpersonationOption.Required)]元標記,並且我正確設置了憑據類型和安全模式。 我可以通過比較Windows身份來驗證帳戶確實是在冒充,但我仍然會獲得訪問被拒絕的異常。 我認為這與活動目錄有關,而不是對模擬用戶進行身份驗證。 有什么我想念的嗎?
您正在進入Kerberos安全域和兩個躍點身份驗證。
您有兩種選擇:
拿紅色葯丸 :嘗試讓兩個啤酒花認證工作。 確保您至少擁有一個Windows Server 2003域,在所有計算機之間正確同步的時間,並為特定用戶/計算機帳戶設置正確的委派。 如果你真的“幸運”,你將不得不使用SetSPN配置SPN。
拿藍色葯丸 :忘記兩次啤酒花 - 身份驗證,在具有足夠權限的帳戶下模擬WCF服務,並在之前的步驟中檢查授權。
請原諒我的挫敗感,但我認為我對這個話題的簡短經驗至少花了我10年的生命。 我討厭看到發生在其他任何人身上。 無論如何,如果你感到勇敢,這篇文章應該會給你足夠的谷歌關鍵詞。
事件日志和網絡監視器對於調試很有用......
您可能還需要設置從Web服務器到文件服務器的委派。 這將允許文件服務器信任Web服務器已驗證的憑據。 請參閱此MSDN文章 ,了解如何為應用程序設置委派,尤其是有關配置AD的部分。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.