2013-11-14 32 views
0

我們有一個使用Windows身份驗證的ASP.NET MVC編寫的網站。 我們有一個WCF服務,用於連接數據庫並從我們的MVC網站引用該服務。網站和服務的web.config已啓用Windows身份驗證並禁用基本和匿名身份驗證。現在ASP.NET MVC + WCF + IIS:Windows身份驗證不起作用

,這個問題是這樣的:

如果我重新啓動IIS,然後打開在具有IIS在同一臺計算機瀏覽器,一切工作正常(甚至從該計算機外)。 如果我重新啓動IIS,然後在外部計算機中打開瀏覽器,則WCF服務無法連接到數據庫(甚至不能連接到本地計算機)。

所以,如果我們不試圖訪問它之前打開來自主機的網站外,它不會工作。

我們使用模擬來從網站上對服務進行調用。

關於可能發生什麼的任何想法?

回答

0

您的WCF服務正在模擬由IE用戶傳遞給IIS的外部用戶的用戶。您想硬編碼您的IIS應用程序池我們的服務使用具有網絡服務特權的特定服務帳戶

它在內部工作,因爲它在Windows域中使用您的身份(它在您的ie安全設置中)但外部這不起作用。

+0

問題是,只要您第一次點擊該網站時,它就會在外部工作。之後,它將繼續在外部工作。 – willvv

+0

它正在緩存內部憑據,答案是正確的爲您的應用程序池配置一個具有相應權限的服務帳戶 –

+0

好的,但我用於AppPool的帳戶是「網絡服務」,它不應該像那樣工作嗎? – willvv