簡體   English   中英

如何將用戶身份從一個IIS中托管的Web應用程序傳遞到另一個IIS中托管的Web服務?

[英]How to pass on user's identity from web application hosted in one IIS to the web service hosted in another IIS?

我在Windows Server 2003 R2計算機上的IIS 6.0托管了一個Web應用程序(在ASP.net 4.0中開發)。 此Web應用程序已打開Integrated Windows Authentication

我已經在Windows Server 2008 R2計算機上的IIS 7.5托管了一個Web服務(使用WCF開發)。 '該Web應用程序也啟用了Windows Authentication

  • 我使用Windows域帳戶登錄到本地計算機。 當我瀏覽Web應用程序時,它會問我我的域用戶名和密碼。 在網絡應用中,我可以正確獲取自己的身份。
  • 在我的計算機上(使用其他Winform應用程序),如果我調用同一個Web應用程序(Web服務),則服務代碼將在Windows身份下執行。

因此, Integrated Windows Authentication對於在不同計算機上的單獨IIS中托管的兩個Web應用程序都可以獨立正常運行。

當從本地計算機上瀏覽Web應用程序,並且網頁在內部調用該服務時,就會出現問題。 在這種情況下,按預期“服務不在我的Windows身份下運行”。 它可以在asp.net Web應用程序或Web服務的Web應用程序的應用程序池的標識下運行。

我不希望我的Web服務承擔驗證用戶身份的責任。 它將使用簡單的basicHttpBinding 它將僅使用CurrentPrincipalHttpContext等讀取用戶的名稱。驗證用戶身份僅應由IIS完成。

有人可以幫助我將Windows身份從一個IIS傳遞給另一個IIS嗎?

您需要設置kerberos委派,因為默認情況下身份不會傳遞給另一台機器。

http://blogs.technet.com/b/askds/archive/2008/11/25/fun-with-the-kerberos-delegation-web-site.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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