我有两个 WCF WebHttpBinding 绑定的自托管服务。一个设置为WebHttpSecurityMode.TransportCredentialOnly
和HttpClientCredentialType.Windows
。另一个设置为None
和None
。
该服务在 Chrome 和 IE 上提供完全符合预期的身份验证提示行为,并具有正确的内容类型和内容。在 localhost 和远程(不在域上)进行测试。在 IE 中,集成身份验证的默认设置会立即将我的凭据发送到经过身份验证的服务。在 Chrome 中,默认设置会提示我输入 Windows 身份验证凭据。
但在 Firefox 中,我没有收到这样的提示 - 只是 Firebug 中的一个错误,401 Unauthorized
否则是一个空白页面。我假设 iOS 也有同样的401 Unauthorized
问题,尽管调试器控制台没有显示任何错误——我只是得到一个空白页。
我不知道 WCF WebHttpBinding 与标准 IIS 托管网站的相关性如何,但我发现的所有其他谷歌都是关于有人试图停止 Windows Auth 提示以支持非 IE 浏览器中的集成安全模式。我有点相反的问题 - 它没有出现在我身上。
Firefox 和 Safari 对 Chrome 和 IE 不敏感的 Web 服务响应是否有细微差别?
在撰写本文时,我正在使用 IE 10 和其他浏览器的最新版本在 Windows 8 上进行测试。
谢谢!
如果我将其设置为HttpClientCredentialType.NTLM
所有浏览器都可以工作。但据我了解,NTLM 不允许使用更安全的 Kerberos 域凭据(如果它们可用)。我不想强制使用不太安全的选项!