我在IIS 6.0
的Windows Server 2003 R2
機器上有一個web應用程序(在ASP.net 4.0中開發)。此Web應用程序已打開Integrated Windows Authentication
。如何將用戶的身份從一個IIS中託管的Web應用程序傳遞到託管在另一個IIS中的Web服務?
我已經在Windows Server 2008 R2
機器上主持了一個web服務(使用WCF開發)IIS 7.5
。 'Windows Authentication
也爲此Web應用程序啓用。
- 我使用我的Windows域帳戶登錄到本地計算機。當我瀏覽Web應用程序時,它向我詢問我的域用戶名和密碼。在Web應用程序中,我正確地獲得了我的身份。
- 從我的機器(使用其他Winform應用程序),如果我調用Web服務的相同Web應用程序,服務代碼將在我的Windows身份下執行。
所以Integrated Windows Authentication
工作正常獨立兩個單獨的IIS託管在不同的機器上的網絡應用程序。
問題出現時,從我的本地機器瀏覽Web應用程序,網頁在內部調用服務。在這種情況下,「服務不會在我的Windows身份下運行」如預期的那樣。它或者以asp.net web應用程序的應用程序池或Web服務的Web應用程序的身份運行。
我不希望我的web服務負責認證用戶。它會使用簡單的basicHttpBinding
。它將只讀取使用CurrentPrincipal
或HttpContext
等用戶的名稱。驗證用戶的身份應該僅由IIS完成。
有人可以幫我把我的Windows身份從一個IIS傳遞給另一個嗎?