帐号选择和 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 工作原理相似。