设置 SPN 属性
设置 SPN 属性的选项如下:
自动方法
启动 VDog MasterService 的 AD 用户在 Active Directory 中拥有 读写权限。如果有足够的授权,octoplant 会自行设置属性。
手动方法
域管理员需要在 Active Directory 中为运行 VDog MasterService 的用户帐户设置 SPN(服务主体名称) 属性。请使用以下 SPN 格式:HTTP/{服务器名称}.{FQDN}
。
创建所有 SPN
必须为所有客户端配置的每个服务器地址添加 SPN。
使用 ADSI 编辑器的程序
- 打开域控制器上的 ADSI 编辑器:步骤:控制面板 > 系统和安全 > 管理 > ADSI 编辑器。
- 连接到服务器的 域。
- 搜索服务的 用户,右键单击打开 属性。
- 在 属性编辑器 中,搜索 servicePrincipalName 条目,然后单击 编辑。
- 为每台服务器输入服务主体名称(SPN),格式为:
HTTP/{服务器名称}.{FQDN}
。 - 重新启动服务。
- SSO 现在可以正常工作。
使用命令行的程序
setspn
命令可用于为 octoplant 服务器添加 SPN。
详细信息
有关 setspn
命令的详细信息,请参阅 Microsoft 文档。
区分大小写
setspn
命令的参数是区分大小写的。
-
要列出某个账户的现有 SPN,请使用以下命令:
setspn -L {用户名}
下图显示了执行该命令的结果:
-
当 VDog MasterService 在一个特殊用户帐户下运行时,请使用以下命令添加:
setspn -s HTTP/{服务器名} {用户名}
下图显示了执行该命令的结果:
-
当 VDog MasterService 在一个系统帐户下运行时,请使用以下命令添加:
setspn -s HTTP/{服务器名} {计算机名}
下图显示了执行该命令的结果:
-
添加已经存在的 SPN 会导致冲突。下图展示了一个冲突示例:
当出现这种情况时,请咨询所显示的实体是否需要该 SPN。
-
如果答案是否定的:
-
运行此命令将其删除:
setspn -d HTTP/{服务器名}
下图显示了该命令的结果:
-
运行
setspn -L {username}
验证是否已删除。
-
-
如果答案是肯定的,则需要为应用程序、服务或 octoplant 定义另一个服务器名称:
setspn -s HTTP/{额外服务器名} {用户名}
-