2013-06-28 74 views
0

我有兩個WCF WebHttpBinding綁定的自託管服務。一個設置爲WebHttpSecurityMode.TransportCredentialOnlyHttpClientCredentialType.Windows。另一個設置爲NoneNoneWindows身份驗證在Firefox或iOS上不提示Safari

此服務正在爲Chrome和IE上的預期驗證提示行爲提供正確的內容類型和內容。在本地主機上進行測試並遠程測試(不在域中)。在IE中,集成身份驗證的默認設置會立即將我的憑證發送到已驗證的服務。在Chrome中,默認設置會提示我輸入我的Windows身份驗證憑據。

但在Firefox中,我沒有得到這樣的提示 - 只是在Firebug中出現錯誤401 Unauthorized,否則就是空白頁。我認爲iOS有相同的401 Unauthorized問題,雖然調試器控制檯不顯示任何錯誤 - 我只是得到一個空白頁。

我不知道WCF WebHttpBinding與標準的IIS託管網站的相關程度如何,但我發現的其他所有Google都是關於有人試圖停止Windows身份驗證提示,轉而採用非IE中的集成安全模式瀏覽器。我有種相反的問題 - 它沒有出現在我身上。

Firefox和Safari對Chrome和IE不敏感的Web服務響應是否有細微差別?

我正在使用IE 10和其他瀏覽器的最新版本在撰寫本文時測試Windows 8。

謝謝!

如果我將它設置爲HttpClientCredentialType.NTLM那麼所有瀏覽器都可以工作。但據我瞭解,NTLM不允許使用更安全的Kerberos域憑據(如果它們可用)。我不想強制一個不太安全的選項!

回答

0

Kerberos與IE兼容,因爲Chrome與IE共享東西,所以它也適用於Chrome。對於Firefox,您必須啓用它。見here。 Mac OS上的Safari應該可以工作,但不知道其他操作系統的情況。

+0

是的,例如,通過將'network.negotiate-auth.trusted-uris'設置爲包括'localhost',它會自動使用當前的Windows憑據登錄。但是沒有辦法讓它提示。在獨立域之間需要提示。與iOS相同。 –