簡體   English   中英

為什么我不能在遠程計算機上使用模擬打開文件?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM