WCF WebHttpBinding にバインドされたセルフホステッド サービスが 2 つあります。1 つは と に設定されWebHttpSecurityMode.TransportCredentialOnlyますHttpClientCredentialType.Windows。もう 1 つは と に設定されNoneますNone。
このサービスは、正しいコンテンツ タイプとコンテンツを使用して、Chrome と IE で意図したとおりの認証プロンプト動作を提供しています。localhost およびリモート (ドメインではなく) でテストします。IE では、統合認証のデフォルト設定により、資格情報がすぐに認証済みサービスに送信されます。Chrome では、デフォルト設定で Windows 認証資格情報を求められます。
しかし、Firefox では、そのようなプロンプトは表示されません。それ以外の場合は、Firebug でエラーが発生し401 Unauthorized、空白のページが表示されます。iOS にも同じ401 Unauthorized問題があると思いますが、デバッガー コンソールにはエラーは表示されません。空白のページが表示されるだけです。
WCF WebHttpBinding が標準の IIS でホストされている Web サイトとどの程度関連しているかはわかりませんが、IE 以外のブラウザーで統合セキュリティ モードを優先して Windows Auth プロンプトを停止しようとしている他のすべての Google に関するものです。私には逆の問題があります-それは私には現れません。
Firefox と Safari が敏感で、Chrome と IE が敏感ではない Web サービスの応答について微妙な違いはありますか?
この記事の執筆時点では、IE 10 を搭載した Windows 8 と他のブラウザーの最新リリースでテストしています。
ありがとう!
に設定するとHttpClientCredentialType.NTLM、すべてのブラウザーが機能します。しかし、私が理解しているように、NTLM はより安全な Kerberos ドメイン資格情報を許可しません (利用可能な場合)。安全性の低いオプションを強制したくありません!