Mac浏览器的Windows身份验证

时间:2016-08-08 21:14:27

标签: iis asp.net-web-api2 windows-authentication iis-8.5

尝试在IIS 8.5 for Windows身份验证中配置Intranet ASP.NET站点时遇到以下问题。我将IIS Windows身份验证提供程序设置设置为:

  • 协商
  • NTLM

这适用于基于Windows的浏览器 - 用户可以无缝登录。基于Mac的浏览器似乎不支持协商协议;访问我的网站时,系统会提示您输入域凭据。即使使用正确的凭据进行响应,浏览器也会使用“NTLM xxxxxxx ...”响应身份验证质询。 IIS不喜欢这样,并且始终以401响应。这会将浏览器发送到身份验证循环,在此循环中会不断提示您输入凭据。如果单击“取消”(取决于您所在的浏览器),您最终会得到401响应(不是非常有用)。

如果我修改设置并删除“Negotiate”提供程序,从Mac浏览器访问该站点时仍然会提示我,但这次NTLM挑战成功并且我可以进行身份​​验证。这个问题是我现在也从Windows浏览器获得身份验证提示。

有没有办法解决这个问题(我的Windows身份验证是否配置错误)?我很高兴不得不回答来自Mac的凭据提示,但由于我的绝大多数用户都将从Windows访问,我希望他们仍然可以获得“隐形”登录体验。

1 个答案:

答案 0 :(得分:0)

如果我正确理解了您的问题; Safari / Apple不支持Windows身份验证。必须在IIS内启用基本身份验证才能使Safari登录。