跳转至

设置 SPN 属性

设置 SPN 属性的选项如下:

自动方法

启动 VDog MasterService 的 AD 用户在 Active Directory 中拥有 读写权限。如果有足够的授权,octoplant 会自行设置属性。

手动方法

域管理员需要在 Active Directory 中为运行 VDog MasterService 的用户帐户设置 SPN(服务主体名称) 属性。请使用以下 SPN 格式:HTTP/{服务器名称}.{FQDN}

创建所有 SPN

必须为所有客户端配置的每个服务器地址添加 SPN。

使用 ADSI 编辑器的程序

  1. 打开域控制器上的 ADSI 编辑器:步骤:控制面板 > 系统和安全 > 管理 > ADSI 编辑器
  2. 连接到服务器的
  3. 搜索服务的 用户,右键单击打开 属性
  4. 属性编辑器 中,搜索 servicePrincipalName 条目,然后单击 编辑
  5. 为每台服务器输入服务主体名称(SPN),格式为:HTTP/{服务器名称}.{FQDN}
  6. 重新启动服务。
  7. SSO 现在可以正常工作。

使用命令行的程序

setspn 命令可用于为 octoplant 服务器添加 SPN。

详细信息

有关 setspn 命令的详细信息,请参阅 Microsoft 文档

区分大小写

setspn 命令的参数是区分大小写的。

  • 要列出某个账户的现有 SPN,请使用以下命令:

    setspn -L {用户名}

    下图显示了执行该命令的结果:

    图:添加 SPN 用户

  • VDog MasterService 在一个特殊用户帐户下运行时,请使用以下命令添加:

    setspn -s HTTP/{服务器名} {用户名}

    下图显示了执行该命令的结果:

    图:SPN 特殊用户

  • VDog MasterService 在一个系统帐户下运行时,请使用以下命令添加:

    setspn -s HTTP/{服务器名} {计算机名}

    下图显示了执行该命令的结果:

    图:SPN 系统帐户

  • 添加已经存在的 SPN 会导致冲突。下图展示了一个冲突示例:

    图:SPN 冲突

    当出现这种情况时,请咨询所显示的实体是否需要该 SPN。

    • 如果答案是否定的:

      1. 运行此命令将其删除:

        setspn -d HTTP/{服务器名}

        下图显示了该命令的结果:
        图:SPN 系统账户

      2. 运行setspn -L {username} 验证是否已删除。

    • 如果答案是肯定的,则需要为应用程序、服务或 octoplant 定义另一个服务器名称:

      setspn -s HTTP/{额外服务器名} {用户名}