重要
在使用本文中的步骤之前,请先按照 Kerberos 故障排除清单中的步骤进行操作。 Kerberos 问题的最常见原因是基础结构问题或服务主体名称(SPN)问题。 清单可帮助你识别此类问题。 此外,本文中的过程使用你在遵循清单时收集的一些信息。 具体而言,你可能必须知道客户端计算机是否收到了目标服务的服务票证。
Kerberos 身份验证支持 Intranet 环境中的单一登录(SSO)身份验证。 SSO 问题通常表示客户端应用程序使用除 Kerberos 以外的协议在应使用 Kerberos 时对用户进行身份验证。 此类问题可能是由服务或客户端应用程序中的配置问题引起的。
注释
如果问题仅影响少数用户或计算机,则问题很可能是由客户端配置引起的,而不是由服务配置引起的。 在这种情况下,您可以跳到本文中 检查受影响的客户端应用程序的配置 这一过程。
1.检查目标服务配置
目标服务(通常是 Web 服务器或其他应用程序服务器)的配置部分取决于所使用的服务类型,在某些情况下取决于服务版本。 以下准则适用:
- 如果目标服务(或前端应用程序)在 Internet Information Server(IIS)上运行,请按照本节后面的步骤进行作。
- 如果使用不同类型的服务(如 Microsoft SQL Server 或第三方服务),请查看该服务的文档或联系服务提供商。 确保正确配置服务以支持 SSO 身份验证。
使用 IIS 工具(在“服务器管理器 工具 ”菜单上提供)查看网站设置:
- 在 IIS 控制台中,展开 IIS 服务器,然后选择网站。 在右窗格中,双击“ 身份验证”。
- 确保禁用 匿名身份验证 并启用 Windows 身份验证 。
- 选择 “Windows 身份验证”,打开 “操作” 列表,然后选择 “提供程序”。
- 确保启用的提供程序列表在顶部显示协商,并在第二位显示NTLM。
- 选择**“确定”**。
- 请确保任何更改传播到所有服务器,然后重试进行身份验证。
如果 SSO 仍然无法正常工作,请执行下一步骤。
2.检查服务票证
收集跟踪数据时,是否找到了服务票证?
如果客户端计算机在进行身份验证时收到了目标服务的票证,则问题可能与委托凭据的方式有关。 有关如何排查委派问题的信息,请参阅 Kerberos 身份验证故障排除指南:排查委派问题。
如果客户端计算机没有服务票证,请转到下一过程。
3.检查受影响的客户端应用程序的配置
不同类型的客户端使用不同的条件来标识 Intranet 站点,并使用不同的设置来实现单一登录。 本文中的过程适用于 Microsoft Edge 版本 87 或更高版本(或基于浏览器的应用程序,这些应用程序基于 Microsoft Edge)。 如果使用不同类型的客户端,请考虑以下选项:
- 非浏览器客户端。 查看客户端应用程序的文档,或联系应用程序的支持提供程序。 确保客户端已正确配置以支持 SSO 身份验证。
- 基于 Internet Explorer 的客户端(或类似的旧浏览器)。 较旧的浏览器(包括 Internet Explorer(所有版本)和低于版本 87 Microsoft Edge 版本使用与较新的浏览器不同的默认配置。 有关如何在使用 Internet Explorer 时排查 Kerberos 问题的详细信息,请参阅 Internet Explorer 中的 Kerberos 故障疑难解答。
与旧版浏览器不同,Microsoft Edge 版本 87(及更高版本)仅使用两个 Internet 区域: Internet 和 本地 Intranet。 Edge 会忽略其他区域设置,例如 受限站点。 此外,Edge 并不总是使用客户端计算机区域设置来标识 Intranet 站点。 Edge 考虑其他因素,例如代理配置。 出于这些原因,组策略提供了管理 Microsoft Edge 配置的最一致方法。
注释
如果必须检查单个计算机上的配置,请参阅 检查单个客户端计算机的 Internet 身份验证设置。
AuthServerAllowlist 组策略设置(配置允许的身份验证服务器列表)优先于客户端计算机上的区域设置。 若要检查此设置,请使用组策略管理控制台和组策略编辑器(可在服务器管理器中的 “工具” 菜单上使用)。 确保此设置执行以下操作:
- 列出目标服务器的完全限定域名(FQDN)
- 适用于必须进行身份验证的客户端和用户
如需了解更多信息,请参阅以下文章:
有关如何获取和使用 Microsoft Edge 组策略管理模板的信息,请参阅 在 Windows 设备上配置 Microsoft Edge 策略设置。
如果对组策略设置进行任何更改,请确保这些更改传播到客户端计算机和用户。 重启要进行故障排除的客户端浏览器,清除浏览器缓存,然后重试进行身份验证。
检查单个客户端计算机的 Internet 身份验证设置
若要检查独立于组策略设置的单个客户端计算机的配置,请执行以下步骤:
- 在客户端计算机上的“搜索”框中,输入 Internet 选项。 在搜索结果中,选择 “Internet”选项。
- 在 Internet 属性中,选择“ 高级”。
- 在“高级”选项卡上的“安全”类别中,确保已选择**“启用集成 Windows 身份验证**”。
- 在 Internet 属性中,选择 “安全性”,然后选择“ 本地 Intranet>站点”。
- 确保环境设置正确,然后重试进行身份验证。