Windows身份验证不会在Firefox或iOS Safari上提示

时间:2013-06-28 03:38:45

标签: wcf cross-browser windows-authentication webhttpbinding

我有两个WCF WebHttpBinding绑定的自托管服务。一个设置为WebHttpSecurityMode.TransportCredentialOnlyHttpClientCredentialType.Windows。另一个设置为NoneNone

此服务正在Chrome和IE上提供准确的身份验证提示行为,并提供正确的内容类型和内容。在localhost和远程(不在域上)上进行测试。在IE中,集成身份验证的默认设置会立即将我的凭据发送到经过身份验证的服务。在Chrome中,默认设置会提示我输入我的Windows身份验证凭据。

但是在Firefox中我没有得到这样的提示 - 只是在401 Unauthorized的Firebug中出现错误,否则就是空白页面。我假设iOS有相同的401 Unauthorized问题,虽然调试器控制台没有显示任何错误 - 我只是得到一个空白页。

我不知道WCF WebHttpBinding与标准的IIS托管网站有多相关,但我找到的所有其他谷歌都是关于有人试图在非IE浏览器中停止Windows Auth提示以支持集成安全模式。我有一个相反的问题 - 它没有出现在我身上。

对于Web服务响应有什么细微之处,Firefox和Safari对Chrome敏感并且IE对IE不敏感吗?

我正在使用IE 10在Windows 8上进行测试,并在撰写本文时测试其他浏览器的最新版本。

谢谢!

如果我将其设置为HttpClientCredentialType.NTLM,那么所有浏览器都可以正常运行。但据我了解,NTLM不允许使用更安全的Kerberos域凭据(如果它们可用)。我不想强迫一个不太安全的选择!

1 个答案:

答案 0 :(得分:0)

Kerberos适用于IE,因为Chrome与IE共享,它也适用于Chrome。对于Firefox,您必须启用它。见here。 Mac OS上的Safari应该可以运行但不确定其他操作系统。