我的服務是一個netTCP webservice,連接到它的站點是一個windows認證的模擬網站。當我試圖打我的服務,並且服務和站點在同一臺服務器上時,那麼這個工作就是正確的。當我嘗試從我的開發機器或從我的本地機器上運行的IIS實例中啓動服務時,它可以正常工作。唯一不起作用的是當我的網站位於網站的另一臺服務器上時。看一下WCF實用程序的輸出,我們發現一個匿名用戶正在嘗試訪問我們的服務。然而,瘋狂的是我的用戶名顯示在服務的右上角。通過一個呼叫WCF的網站冒充用戶
Page.User.Identity.Name
我想我想知道我是否正在模擬客戶端。我懷疑它是否適用於這些實例,因爲當兩個應用程序池在本地計算機上運行時都沒有必要的握手。在我的本地機器上也會出現這種情況(不知道爲什麼,但我認爲當我從登錄的計算機到服務器時可能存在某種隱含的安全性)。 這是我如何模擬用戶...
client2.ChannelFactory.Credentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;
我認爲我正確地有我的IIS 7級的Windows 2008安裝程序。除了爲站點啓用Windows身份驗證之外,我還爲該站點啓用了aspnet模擬。我有一切,但Windows服務的身份驗證被禁用。我將應用程序池設置爲特定的ID。我不完全確定我錯過了什麼。我還不是wcf服務的主人,所以我認爲我在這方面的知識有限。如果你們有任何想法或建議,請告訴我。