在发布服务器场和使用服务器场之间,配置服务器到服务器的身份验证。

 

**上一次修改主题:**2017-09-06

**摘要:**了解如何在跨 SharePoint Server 2016 和 SharePoint 2013 发布场和使用场共享服务应用程序时配置服务器间身份验证。

要允许 Web 应用程序或应用程序服务代表用户从另一个服务器场中的 Web 应用程序请求资源,您必须在服务器场之间配置服务器到服务器的身份验证。使用服务器到服务器身份验证的 SharePoint Server 过程的示例如下:

  • 当用户的个人网站位于 My Sites Web 应用程序时,关注工作组网站 Web 应用程序上的文档。工作组网站 Web 应用程序代表用户发出My Sites Web 应用程序的请求。

  • 对位于工作组网站 Web 应用程序但通过My Sites Web 应用程序上的用户我的网站新闻源执行的站点,创建或回复站点源帖子。My Sites Web 应用程序将代表编写帖子或回复的用户发出工作组网站 Web 应用程序的请求。

  • 重新填充源缓存的 User Profile Service 应用程序任务必须从个人网站或工作组网站读取。如果 User Profile Service 在其他服务器场中运行,User Profile Service 将向My Sites Web 应用程序或工作组网站 Web 应用程序发送请求,将用户或站点源数据读取到缓存中。

备注

从另一个服务器场中的应用程序服务请求资源的 Web 应用程序或应用程序服务不需要服务器到服务器的身份验证。

开始之前

要了解本文中的过程,您应熟悉下列文章中的基本概念:

SharePoint Server 身份验证概述

规划 SharePoint Server 中的服务器到服务器身份验证

在发布服务器场和使用服务器场之间,配置服务器到服务器的身份验证。

以下过程介绍如何在发布服务器场和使用服务器场之间配置服务器到服务器的身份验证。

在发布场和使用场之间配置服务器间身份验证的具体步骤

  1. 选择对两个服务器场通用的域名称。

  2. 验证您是否为正在运行 PowerShell cmdlet 的服务器上的管理员组成员。

    • SQL Server 实例上的 Securityadmin 固定服务器角色。

    • 要更新的所有数据库上的 db_owner 固定数据库角色。

    管理员可以使用 Add-SPShellAdmin cmdlet 授予使用 SharePoint Server cmdlet 的权限。

    备注

    如果您不具有这些权限,请联系您的安装管理员或 SQL Server 管理员来请求权限。有关 PowerShell 权限的其他信息,请参阅 Add-SPShellAdmin

  3. 在发布场和使用场上的 SharePoint Server 环境中,启动 SharePoint 命令行管理程序。

  4. 要为通用域名称配置发布服务器场,在发布服务器场中某台服务器上的 PowerShell 命令提示符处键入以下命令:

    Set-SPAuthenticationRealm -realm <RealmName>
    

    其中:

    RealmName 是您在步骤 1 中选择的名称。

  5. 要在发布服务器场上将 SharePoint 安全令牌服务 (STS) 的名称 ID 配置为包含通用域名称,在发布服务器场中某台服务器上的 PowerShell 命令提示符处键入以下命令:

    $sts=Get-SPSecurityTokenServiceConfig
    $Realm=Get-SpAuthenticationRealm
    $nameId = "00000003-0000-0ff1-ce00-000000000000@$Realm"
    Write-Host "Setting STS NameId to $nameId"
    $sts.NameIdentifier = $nameId
    $sts.Update()
    
  6. 要为通用域名称配置使用服务器场,在使用服务器场中某台服务器上的 PowerShell 命令提示符处键入以下命令:

    Set-SPAuthenticationRealm -realm <RealmName>
    

    其中:

    RealmName 是您在步骤 1 中选择的名称。

  7. 要在使用服务器场上将 SharePoint STS 的名称 ID 配置为包含通用域名称,在使用服务器场中某台服务器上的 PowerShell 命令提示符处键入以下命令:

    $sts=Get-SPSecurityTokenServiceConfig
    $Realm=Get-SpAuthenticationRealm
    $nameId = "00000003-0000-0ff1-ce00-000000000000@$Realm"
    Write-Host "Setting STS NameId to $nameId"
    $sts.NameIdentifier = $nameId
    $sts.Update()
    
  8. 要配置发布服务器场与使用服务器场的服务器到服务器身份验证,在发布服务器场中某台服务器上的 PowerShell 命令提示符处键入以下命令:

    New-SPTrustedSecurityTokenIssuer -MetadataEndpoint "https://<ConsumeHostName>/_layouts/<15or16>/metadata/json/1" -Name "<ConsumeFriendlyName>"
    

    其中:

    • ConsumeHostName 是使用服务器场中任何启用 SSL 的 Web 应用程序的名称和端口。

    • 15or16 是 SharePoint Server 版本对应的目录。

    • ConsumeFriendlyName 是使用服务器场的友好名称。

    这将创建与使用服务器场的服务器到服务器身份验证信任。

  9. 要配置使用服务器场与发布服务器场的服务器到服务器身份验证,在使用服务器场中某台服务器上的 PowerShell 命令提示符处键入以下命令:

    New-SPTrustedSecurityTokenIssuer -MetadataEndpoint "https://<PublishHostName>/_layouts/<15or16>/metadata/json/1" -Name "<PublishFriendlyName>"
    

    其中:

    • PublishHostName 是发布服务器场中任何启用 SSL 的 Web 应用程序的名称和端口。

    • 15or16 是 SharePoint Server 版本对应的目录。

    • PublishFriendlyName 是发布服务器场的友好名称。

    这将创建与发布服务器场的服务器到服务器身份验证信任。

See also

在 SharePoint Server 中跨服务器场共享服务应用程序

Get-SPAuthenticationRealm
Set-SPAuthenticationRealm
New-SPTrustedSecurityTokenIssuer