帐号选择和 SPN 示例

本主题提供使用 setspn 实用程序在 Active Directory 中分配服务主体名称 (SPN) 的示例。

分配 SPN 时,最佳做法是使用已命名的 Windows 帐户。但是,在某些场景下,并不严格要求使用已命名的 Windows 帐户。以下示例说明了 setspn 命令的用法,并讨论了使用帐户的可行选项。

通过 IP sprayer 由多个 Domino® 服务器维护的 Web 站点

如果 SSO 环境是带有用于在多个 Domino® 服务器之间分发连接请求的 IP sprayer 的 Web 站点,那么必须在 Active Directory 内的一个已命名帐户中定义 SPN。所有 Domino® 服务器都登录到与 Windows 服务相同的帐户,而不是单独的本地系统帐户。例如,可以假设将 Web 站点文件按以下方法配置:

  • 映射到此站点的主机名或地址 = ipsprayer.renovations.com, domino1.ad.renovations.com, domino2.ad.renovations.com。
  • 托管此站点的 Domino 服务器 = Domino1/Renovations, Domino2/Renovations

您需要针对已命名的帐户(在此示例中为 ssorenovations)运行 setspn 三次来为该帐户定义三个 SPN:

setspn -a HTTP/ipsprayer.renovations.com ssorenovations
setspn -a HTTP/domino1.ad.renovations.com ssorenovations
setspn -a HTTP/domino2.ad.renovations.com ssorenovations

登录到 Active Directory 域的 Web 用户在通过 HTTP 或 HTTPS URL 访问 Domino1/Renovation 或 Domino2/Renovation 时不会收到要求输入密码的提示,此类 HTTP 或 HTTPS URL 包含以下任意一个DNS 名:

ipsprayer.renovations.com
domino1.ad.renovations.com
domino2.ad.renovations.com

由一个 Domino® 服务器维护的 Web 站点

如果 Web 站点只由一个 Domino® 服务器维护,那么可以在已命名的帐户中或本地系统帐户中定义 SPN。例如,可以假设将 Web 站点文件按以下方法配置:

  • 映射到此站点的主机名或地址 = www.sso1.renovations.com, www.sso2.renovations.com
  • 托管此站点的 Domino 服务器 = Domino1/Renovations

您需要针对该帐户(在此示例中为本地系统帐户 domino1)运行 setspn 两次,如下所示:

setspn -a HTTP/www.sso1.renovations.com domino1
setspn -a HTTP/www.sso2.renovations.com domino1

登录到 Active Directory 域的 Web 用户在通过 HTTP 或 HTTPS URL 访问 Domino1/Renovation 服务器时不会收到要求输入密码的提示,此类 HTTP 或 HTTPS URL 中包含“www.sso1.renovations.com”或“www.sso2.renovations.com”两者中的某一个。

由在 URL 中不共享 DNS 名称的多个 Domino® 服务器维护的 Web 站点

如果 Web 站点由在 URL 中不共享 DNS 名称的多个 Domino® 服务器维护,那么您可以:

  • 在一个已命名帐户中定义所有服务器的 SPN;
  • 在几个单独的已命名帐户中定义每个服务器的 SPN;
  • 在每个服务器的本地系统帐户中定义每个服务器的 SPN;

例如,可以假设将 Web 站点文件按以下方法配置:

  • 映射到此站点的主机名或地址 = domino1.ad.renovations.com, domino2.ad.renovations.com
  • 托管此站点的 Domino 服务器 = Domino1/Renovations, Domino2/Renovations

Domino1/Renovation 仅维护包含 domino1.ad.renovations.com 的 URL,Domino2/Renovation 仅维护包含 domino2.ad.renovations.com 的 URL。要为每个本地系统帐户(domino1 和 domino2)定义 SPN,您需要针对每个帐户运行 setspn 一次,如下所示:

setspn -a HTTP/domino1.ad.renovations.com domino1
setspn -a HTTP/domino2.ad.renovations.com domino2

登录到 Active Directory 域的 Web 用户在通过 URL 访问 Domino1/Renovation(包含“domino1.ad.renovations.com”)或通过“domino2.ad.renovations.com”访问 Domino2/Renovation 服务器时不会收到要求输入密码的提示。

使用服务器文档的 SSO 配置

如果配置 SSO 是使用的是服务器文档而不是 Web 站点文档,用户可以:

  • 对所有服务器使用一个已命名的文档
  • 如果没有使用 IP 发射器,则使用由服务器集群组织的多个已命名帐户。
  • 如果没有使用 IP sprayer,则使用本地系统帐户(如 domino1、domino2 和 domino3)。

例如,可以假定每个服务器都可以进行多服务器会话验证,并且指定的 Web SSO 配置文档在其“参与服务器”字段中列出了以下服务器:

  • Domino1/Renovation
  • Domino2/Renovation
  • Domino3/Renovation

还可以假定对应的主机名为:

  • domino1.ad.renovations.com
  • domino2.ad.renovations.com
  • domino3.ad.renovations.com

要使用本地系统帐户,请针对每个帐户运行 setspn 一次,如下所示:

setspn -a HTTP/domino1.ad.renovations.com domino1
setspn -a HTTP/domino2.ad.renovations.com domino2
setspn -a HTTP/domino3.ad.renovations.com domino3

domino1 登录到本地系统帐户下时,Web 客户机访问含有“domino1.ad.renovations.com”的 HTTP 或 HTTPS URL 时不会收到要求输入密码的提示。含有“domino2.ad.renovations”的 URL 与含有“domino3.ad.renovations”的 URL 工作原理相似。