ADFS 与安全私有访问集成

Last published : Oct 24, 2026
声明规则对于控制声明通过声明管道的流向是必要的。声明规则还可用于在声明规则执行过程中自定义声明流。有关声明的更多信息,请参阅 Microsoft 文档。
要将 ADFS 设置为接受来自 Citrix Secure Private Access™ 的声明,您必须执行以下步骤:
  1. 在 ADFS 中添加声明提供程序信任。
  2. 完成 Citrix Secure Private Access 上的应用程序配置。

在 ADFS 中添加声明提供程序信任

  1. 打开 ADFS 管理控制台。转到 ADFS > 信任关系 > 声明提供程序信任。
    1. 右键单击并选择 添加声明提供程序信任。 添加声明提供程序信任向导
    2. 在 Secure Private Access 中添加一个用于联合到 ADFS 的应用程序。有关详细信息,请参阅 Citrix Secure Private Access 上的应用程序配置。
    注意:
    首先添加应用程序,然后从应用程序的 SSO 配置部分,您可以下载 SAML 元数据文件,然后将元数据文件导入 ADFS。
    下载 SAML 元数据
    1. 完成步骤以完成添加声明提供程序信任。完成添加声明提供程序信任后,将出现一个编辑声明规则的窗口。
    2. 添加一个带有 转换传入声明 的声明规则。 添加声明规则
    3. 完成以下图中所示的设置。如果您的 ADFS 接受其他声明,则使用这些声明并相应地在 Secure Private Access 中配置 SSO。 完成声明规则设置
您现在已配置声明提供程序信任,确认 ADFS 现已信任 Citrix Secure Private Access 用于 SAML。

声明提供程序信任 ID

记下您添加的声明提供程序信任 ID。在 Citrix Secure Private Access 中配置应用程序时需要此 ID。 声明提供程序信任 ID 示例

信赖方标识符

如果您的 SaaS 应用程序已使用 ADFS 进行身份验证,则您必须已为该应用程序添加了信赖方信任。在 Citrix Secure Private Access 中配置应用程序时需要此 ID。
信赖方标识符 ID 示例

在 IdP 发起的流程中启用中继状态

RelayState 是 SAML 协议的一个参数,用于标识用户登录并定向到信赖方联合服务器后访问的特定资源。如果在 ADFS 中未启用 RelayState,则用户在向需要它的资源提供程序进行身份验证后会看到错误。
对于 ADFS 2.0,您必须安装更新 KB2681584(更新汇总 2)或 KB2790338(更新汇总 3)以提供 RelayState 支持。ADFS 3.0 内置了 RelayState 支持。在这两种情况下,RelayState 仍然需要启用。

在 ADFS 服务器上启用 RelayState 参数

  1. 打开文件。
    • 对于 ADFS 2.0,在记事本中输入以下文件:%systemroot%\inetpub\adfs\ls\web.config
    • 对于 ADFS 3.0,在记事本中输入以下文件:%systemroot%\ADFS\Microsoft.IdentityServer.Servicehost.exe.config
  2. 在 microsoft.identityServer.web 部分中,按如下所示为 useRelyStateForIdpInitiatedSignOn 添加一行,并保存更改: <microsoft.identityServer.web> ... <useRelayStateForIdpInitiatedSignOn enabled="true" /> ...</microsoft.identityServer.web>
    • 对于 ADFS 2.0,运行 IISReset 以重新启动 IIS。
  3. 对于这两个平台,请重新启动 Active Directory Federation Services (adfssrv) service. 注意: 如果您使用的是 Windows 2016 或 Windows 10,请使用以下 PowerShell 命令启用它。 Set-AdfsProperties -EnableRelayStateForIdpInitiatedSignOn $true

Citrix Secure Private Access 上的应用程序配置

您可以配置 IdP 发起的流程或 SP 发起的流程。在 Citrix Secure Private Access 中配置 IdP 或 SP 发起的流程的步骤是相同的,不同之处在于,对于 SP 发起的流程,您必须在 UI 中选择**使用指定 URL 启动应用程序 (SP 发起)**复选框。

IdP 发起的流程

  1. 在设置 IdP 发起的流程时,请配置以下内容。
    • 应用程序 URL – 应用程序 URL 使用以下格式。 https://<adfs fqdn>/adfs/ls/idpinitiatedsignon.aspx?LoginToRP=<rp id>&RedirectToIdentityProvider=<idp id>
    • ADFS FQDN – 您的 ADFS 设置的 FQDN。
    • RP ID – RP ID 是您可以从信赖方信任中获取的 ID。它与信赖方标识符相同。如果它是 URL,则会进行 URL 编码。
    • IDP ID – IdP ID 与声明提供程序信任 ID 相同。如果它是 URL,则会进行 URL 编码。
      示例
  2. SAML SSO 配置。
    以下是 ADFS 服务器的默认值。如果任何值发生更改,请从 ADFS 服务器的元数据中获取正确的值。ADFS 服务器的联合元数据可以从其联合元数据端点下载,该端点可以从 ADFS > 服务 > 端点中得知。
    • 断言 URL – https://<adfs fqdn>/adfs/ls/
    • 中继状态 – 中继状态对于 IdP 发起的流程很重要。请按照此链接正确构建它 - 中继状态
      示例: RPID=https%3A%2F%2Fdev98714.service-now.com&RelayState=https%3A%2F%2Fdev98714.service-now.com%2F
    • 受众 – http://<adfsfqdn>/adfs/services/trust
    • 有关其他 SAML SSO 配置设置,请参阅下图。有关更多详细信息,请参阅支持 SaaS 应用程序。
    SAML 元数据配置
  3. 保存并将应用程序订阅给用户。

SP 发起的流程

对于 SP 发起的流程,请按照“IDP 发起的流程”部分中的说明配置设置。此外,请启用“使用指定 URL 启动应用程序 (SP 发起)”复选框。