使用 iOS Kerberos 扩展进行 Kerberos 身份验证

Last published : Oct 24, 2026
本主题概述了通过适用于 iOS 的 Citrix Secure Access 应用程序为内部 Web 应用程序启用基于 Kerberos 的单点登录 (SSO) 所需的端到端配置。
  • iOS 客户端配置
  • MDM 服务器配置
  • IIS 配置
  • 域控制器配置

iOS 客户端配置

以下部分提供了有关 iOS 客户端配置的更多信息。

先决条件

确保 iOS 设备已注册 MDM。 在应用任何 SSO 配置之前,iOS 设备必须注册 MDM 解决方案(例如 Microsoft Intune)。MDM 注册允许将 Kerberos SSO 扩展配置文件推送到设备。

验证 iOS 设备上的 MDM 注册

  1. 在 iOS 设备上,转到“设置 > 通用 > VPN 与设备管理”。
    在“设备管理”下,您必须看到列出了您组织的 MDM 配置文件(例如,Microsoft Intune 或您公司的 MDM 配置文件名称)。
  2. 点击配置文件以确认其已安装,并且状态显示为“已验证”或“已安装”。
  3. 要确认 Kerberos SSO 扩展已由 MDM 推送:
    • 前往 设置 > 通用 > VPN 与设备管理。
    • 点击 MDM 配置文件,在配置文件详细信息下查找 单点登录扩展 或 Kerberos。
    • 或者,前往 设置 > 通用 > VPN 与设备管理 > 单点登录 并验证 Kerberos 扩展是否已列出。
    如果设备未注册或配置文件缺失,请联系您的 MDM 管理员在继续操作之前注册设备。

MDM 服务器配置

注意:
MDM SSO 扩展负载配置基于官方 Apple 文档。
确保在 MDM SSO 扩展负载中配置了以下字段:
  1. 域: 用于 Kerberos 的 URL。
  2. AppBundleIDs: 将使用的应用程序的允许列表。(例如,Chrome:com.google.chrome.ios,Citrix Secure Access:com.citrix.securehub)
  3. 领域: 您的数据中心位置。

Intune 策略配置

先决条件: 确保 iOS 设备已注册到 Intune。
  1. 在 Intune 管理控制台中,转到主页 > 设备 | iOS/iPadOS → iOS/iPadOS | 配置。
  2. 创建新策略。
  3. 在配置文件类型中选择模板,然后选择设备功能。
    Intune 策略配置文件
  4. 按创建。
  5. 输入策略名称,然后继续进行配置设置。
  6. 在单一登录应用扩展 > SSO 应用扩展类型中选择 Kerberos。
    Intune 策略 SSO 扩展
  7. 根据您的设置要求填写信息。
    Intune 策略设备功能1Intune 策略设备功能2
  8. 按审查 + 保存。
  9. 将策略绑定到您的设备:
    • 转到编辑策略,单击该策略。
    • 编辑分配。
    • 选择您的设备组(如果尚未创建,请先使用您的设备创建一个设备组)。
  10. 同步设备。

IIS 配置

在 IIS Web 服务器上,启用带 Negotiate 提供程序的 Windows 身份验证,并禁用 匿名身份验证 以强制执行基于 Kerberos 的身份验证。
配置 IIS 身份验证的步骤:
  1. 打开 IIS 管理器(从“运行”或“开始”中选择 inetmgr)。
  2. 在“连接”窗格中,选择要配置的站点或应用程序。
  3. 在“功能视图”的 IIS 部分中,双击“身份验证”。
  4. 禁用“匿名身份验证”。
    • 选择“匿名身份验证”,然后在“操作”窗格中单击“禁用”。
  5. 启用“Windows 身份验证”。
    • 选择“Windows 身份验证”,然后在“操作”窗格中单击“启用”。
  6. 设置 Negotiate 提供程序。
    • 在选中“Windows 身份验证”的情况下,在“操作”窗格中单击“提供程序…”。
    • 确保 Negotiate 列在首位(在 NTLM 之上)。如果缺少,请添加。
    • 点击确定。
  7. 点击操作窗格中的应用以保存更改。
  8. (可选)从提升的命令提示符运行 iisreset 以立即应用配置。
    IIS 身份验证配置

域控制器端配置

短名称和 FQDN 的 SPN 注册:Kerberos 要求客户端使用的 URL 与域上注册的 SPN 之间精确匹配。访问 http://testwebdemo 的客户端使用的 SPN 与访问 http://testwebdemo.example.com 的客户端使用的 SPN 不同,因此两者都必须注册。
  1. 将下面的 <dc-hostname> 替换为您的域控制器的主机名。
  2. 注册这两种形式。
    • 短主机名(当客户端通过短名称访问时使用,例如 http://testwebdemo)
      setspn -s HTTP/testwebdemo example.com\<dc-hostname>
    • FQDN(当客户端通过完全限定域名访问时使用,例如 http://testwebdemo.example.com)
      setspn -s HTTP/testwebdemo.example.com example.com\<dc-hostname>
  3. 验证两者都已在正确的帐户上注册
    • setspn -L example.com\&lt;dc-hostname>
  4. 预期输出必须包含两者:
    • 超文本传输协议/测试网络演示
    • HTTP/testwebdemo.example.com