ADFS 2016 IE 和 Edge 提示

ADFS 2016 IE and Edge prompt

我们有一个现场 ADFS 2016 服务器设置来验证 Web 应用程序的客户端。这似乎适用于 IE 或 Edge 以外的浏览器。 使用这些浏览器时,客户端会收到 401,并在尝试访问 ADFS 登录页面时提示输入其凭据。 此版本的 ADFS 不使用 IIS,因此无需进行任何设置。 我们确保 ADFS DNS 条目是 A 记录。 我们尝试将 adfs url 添加到客户端浏览器中的受信任站点,但没有成功。 是否需要设置其他内容才能使其正常工作?

此问题可能与您在 ADFS 中的主要身份验证设置设置为 Windows 身份验证有关。这在 Windows 2016 中可能有点不同,但在 2012 R2 中,如果您打开 ADFS 控制台,在左窗格中 select A​​uthentication Policies 然后编辑全局主要身份验证在右侧窗格中,您可以看到外联网和内部网用户的主要身份验证设置。

如果您希望 Windows Authn 成为您的主要身份验证,您可能需要在 IE / Edge 中启用 Windows 集成身份验证。如果是这种情况,我可以提供几个步骤。

UPDATE:看起来好像这是 Kerberos 和 SPN 问题。您的 ADFS 机器名称和 ADFS 服务名称不应相同。我认为问题的核心是 SPN "HOST/AdfsMachineName" 已向 ADFS 服务器的 AD 计算机对象注册,而 SPN "HOST/AdfsServiceName" 已向 ADFS 服务帐户注册。如果 A​​dfsMachineNameA​​dfsServiceName 相同,这会导致重复的 SPN 情况。

检查以下命令的输出。

Get-AdfsProperties | Select-Object -ExpandProperty WIASupportedUseragents

应该看起来像这样。

PS C:\Users\admin.contoso> Get-AdfsProperties | Select-Object -ExpandProperty WIASupportedUseragents
MSAuthHost/1.0/In-Domain
MSIE 6.0
MSIE 7.0
MSIE 8.0
MSIE 9.0
MSIE 10.0
Trident/7.0
MSIPC
Windows Rights Management Client
MS_WorkFoldersClient
=~Windows\s*NT.*Edge
PS C:\Users\admin.contoso>

这控制允许哪些用户代理、浏览器执行 WIA。我怀疑这个列表只包含非 IE-Edge 用户代理。