[英]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
。
因此, Integrated Windows Authentication
對於在不同計算機上的單獨IIS中托管的兩個Web應用程序都可以獨立正常運行。
當從本地計算機上瀏覽Web應用程序,並且網頁在內部調用該服務時,就會出現問題。 在這種情況下,按預期“服務不在我的Windows身份下運行”。 它可以在asp.net Web應用程序或Web服務的Web應用程序的應用程序池的標識下運行。
我不希望我的Web服務承擔驗證用戶身份的責任。 它將使用簡單的basicHttpBinding
。 它將僅使用CurrentPrincipal
或HttpContext
等讀取用戶的名稱。驗證用戶身份僅應由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.