我在Web應用程序內調用Web服務時遇到了一些麻煩,我希望這裏有人能夠提供幫助。據我所知,這個似乎與Kerberos double-hop issue有關。但是,如果是這樣,我不知道該如何解決問題。爲了讓事情變得更加困難,我沒有適當的權限對Active Directory帳戶進行更改,所以我需要知道請求更改時要求的內容。在我的情況下,我需要將憑據(集成Windows身份驗證)從Web應用程序傳遞到後端Web服務,以便Web服務在適當的用戶上下文中運行。如何解決Kerberos雙跳問題?
這裏是我的確切問題:
這工作
這不起作用
的僅工作場景和非工作場景之間的區別在於,工作場景在localhost上運行應用程序(無論是開發人員的PC還是服務器上的問題),而非工作示例正在另一臺機器上運行。兩種方案之間的代碼完全相同。
我已經試過
- 添加一個SPN的域帳戶運行的每個服務器
setspn -a http/server1 DOMAIN\account
- 模擬的不同方法
- 卸下模擬代碼
using(...)
和執行應用程序池作爲應用程序池帳戶的Web服務調用。這按預期工作。
有沒有人有任何想法,我可以做些什麼來解決這個問題?
酷圖讓問題變得如此容易理解 - 謝謝! – 2015-07-05 09:33:16