在 SharePoint 服务器中创建基于声明的 Web 应用程序

适用于:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

基于声明的身份验证是启用 SharePoint Server 的高级功能的要求。 本文介绍如何使用管理中心或 PowerShell 创建使用基于声明的身份验证的 SharePoint Server Web 应用程序。 在支持服务器到服务器身份验证和应用程序身份验证的方案中部署的 Web 应用程序需要基于声明的身份验证。 但是,如果存在不支持基于声明的身份验证的特定方案,本文还提供了使用 PowerShell 创建经典模式 Web 应用程序的指南。 请注意,经典模式身份验证在本版本中已弃用,下个版本中也不会提供。 有关详细信息,请参阅 在 SharePoint Server 中规划服务器到服务器身份验证

重要

在支持服务器到服务器身份验证和应用程序身份验证的方案中部署的 Web 应用程序需要安全套接字层 (SSL)。

可以使用 SharePoint 管理中心网站或 PowerShell 创建 Web 应用程序。 通常使用 PowerShell 创建 Web 应用程序。 若要自动执行创建 Web 应用程序的任务(这在企业中很常见),请使用 PowerShell。 在此过程完成之后,可以创建一个或多个网站集。

使用管理中心创建基于声明的 Web 应用程序

使用本节中所述的过程,使用管理中心创建新的基于声明的 SharePoint Server Web 应用程序。

使用管理中心创建基于声明的 Web 应用程序

  1. 验证您是否拥有以下管理凭据:

    • 若要创建 Web 应用程序,您必须是 SharePoint 组“Farm Administrators”的成员。
  2. 启动 SharePoint 管理中心。

  3. 在管理中心主页上,单击"应用程序管理"。

  4. 在"应用程序管理"页上的"Web 应用程序"部分,单击"管理 Web 应用程序"。

  5. 在功能区的"参与讨论"组中,单击"新建"。

  6. “创建新的 Web 应用程序”的 “IIS 网站 ”部分中,可以通过选择以下两个选项之一来配置新 Web 应用程序的设置:

    • 单击“使用现有 IIS 网站”,然后选择要安装新 Web 应用程序的网站。

    • 单击“新建 IIS 网站”,然后在“名称”框中键入网站名称。

    • 在“端口”框中,键入要用于访问此 Web 应用程序的端口号。 如果使用的是现有网站,则此字段包含当前端口号。

      注意

      用于 HTTP 访问的默认端口号为 80,用于 HTTPS 访问的默认端口为 443。

    • 可选:在 “IIS 网站” 部分的“ 主机标头 ”框中,键入主机名 (例如, www.contoso.com 要用于访问 Web 应用程序的) 。

      注意

      您不需要填充此字段,除非您想在同一台服务器上配置两个或更多共享同一端口号的 IIS 网站,并且已将 DNS 配置为将请求传送到同一服务器,否则不会设置此值。

    • 在“路径”框中,键入服务器上的 IIS 网站主目录的路径。 如果新建网站,此字段将包含建议的路径。 如果使用现有网站,此字段将包含该网站的当前路径。

  7. 在“安全配置”部分,选择是否允许匿名访问,以及是否使用安全套接字层 (SSL)

    重要

    在支持服务器到服务器身份验证和应用程序身份验证的方案中部署的 Web 应用程序需要安全套接字层 (SSL)。 通常,我们强烈建议对 Web 应用程序使用 SSL。

    • 在“安全配置”部分,对“允许匿名”选项单击“是”或“否”No。 如果选择“是”,访问者可以使用特定于计算机的匿名访问帐户(即 IIS_IUSRS)访问网站。

      注意

      如果希望用户能够匿名访问任何网站内容,则必须在 SharePoint Server 网站级别启用匿名访问之前,为整个 Web 应用程序区域启用匿名访问。 之后,网站所有者便可以为其网站配置匿名访问。 如果未在 Web 应用程序级别启用匿名访问,网站所有者以后将不能在网站级别启用匿名访问。

    • 在“安全配置”部分,对“使用安全套接字层(SSL)”选项单击“”或“”。 如果选择“”,必须请求和安装 SSL 证书来配置 SSL。

  8. 在“声明身份验证类型”部分,选择要用于 Web 应用程序的身份验证方法。

    • 若要启用 Windows 身份验证,请选择“启用 Windows 身份验证”,然后在下拉菜单中选择“NTLM”或“协商(Kerberos)”。 我们建议使用“协商(Kerberos)”。

      如果您不想使用集成 Windows 身份验证,请清除“集成 Windows 身份验证”

      注意

      如果没有为此 Web 应用程序的至少一个区域选择 Windows 身份验证,此 Web 应用程序将被禁用。

    • 如果要通过网络以不加密的形式传送用户的凭据,则选择“基本身份验证(使用明文发送凭据)”

      注意

      您可以选择基本身份验证或集成 Windows 身份验证,或选择两者。 如果同时选择这两种身份验证类型,SharePoint Server 会向客户端 Web 浏览器提供这两种身份验证类型。 然后,由客户端 Web 浏览器来确定使用哪种身份验证类型。 如果仅选择基本身份验证,请确保启用 SSL。 否则,恶意用户可能会截取凭据。

    • 若要启用基于表单的身份验证,则选择“启用基于窗体的身份验证(FBA)”,然后输入 ASP.NET 成员资格提供程序名称ASP.NET 角色管理器名称

      注意

      如果选择此选项,则确保启用 SSL。 否则,恶意用户可能会截取凭据。

    • 如果已使用 PowerShell 设置受信任的标识提供者身份验证,则会选中 “受信任的标识提供者 ”复选框。

  9. “登录页面 URL ”部分中,选择以下选项之一以登录到 SharePoint Server:

    • 选择“默认登录页的 URL”将用户重定向到默认登录网站以进行基于声明的身份验证。

    • 选择“自定义登录页 URL”,然后键入登录 URL 将用户重定向到自定义登录网站以进行基于声明的身份验证。

  10. 在“公用 URL”部分,键入用户将在此 Web 应用程序中访问的所有网站的域名的 URL。 此 URL 将用作在此 Web 应用程序的网页上显示的所有链接中的基 URL。 默认 URL 为当前服务器名称和端口,并将自动进行更新以反映网页上的当前 SSL、主机头和端口号设置。 如果将 SharePoint Server 部署在负载均衡器或代理服务器后面,则此 URL 可能需要不同于此页面上的 SSL、主机标头和端口设置。

    自动为新 Web 应用程序将“区域”值设置为“默认”。 当需要扩展 Web 应用程序时,您可以更改区域。

  11. 在"应用程序池"部分,执行下列操作之一:

    • 单击“使用现有应用程序池”,然后从下拉菜单中选择您要使用的应用程序池。

    • 单击“新建应用程序池”,然后键入新应用程序池的名称或保留默认名称。

    • 单击“预定义帐户”以便为此应用程序池使用预定义的安全帐户,然后从下拉菜单中选择安全帐户。

    • 单击“可配置帐户”以指定将用于现有应用程序池的新的安全帐户。

    注意

    若要创建新帐户,请单击“ 注册新的托管帐户”。

  12. 在“数据库名称和验证”部分,为新的 Web 应用程序选择数据库服务器、数据库名称和身份验证方法,如下表中所述。

    项目 操作
    数据库服务器 键入要以 SERVERNAME\ 实例格式<使用的数据库服务器和 SQL Server实例>的名称。 也可以使用默认条目。
    数据库名称 键入数据库的名称或使用默认条目。
    数据库验证 通过执行以下操作之一,选择要使用的数据库身份验证:
    • 若要使用 Windows 身份验证,请将此选项保持选中状态。 建议使用此选项的原因是,Windows 身份验证在连接到 SQL Server 时会自动对密码进行加密。
    • 若要使用 SQL 身份验证,请单击"SQL 身份验证"。 在"帐户"框中键入您希望 Web 应用程序用来对 SQL Server 数据库进行身份验证的帐户,然后在"密码"框中键入密码。

    注意 SQL 身份验证以未加密格式将 SQL 身份验证密码发送到 SQL Server。 建议您只有在使用 IPsec 对 SQL Server 强制使用协议加密来加密网络通信时,才使用 SQL 身份验证。

  13. 如果使用数据库镜像,请在"故障转移服务器"部分的"故障转移数据库服务器"框中,键入要与内容数据库关联的特定故障转移数据库服务器的名称。

  14. 在"服务应用程序连接"部分,选择将供 Web 应用程序使用的服务应用程序连接。 在下拉菜单中,单击“默认”或“[自定义]”。 可使用“[自定义]”选项来选择您要用于 Web 应用程序的服务应用程序连接。

  15. 在"客户体验改善计划"部分,单击"是"或"否"。

  16. 单击"确定"创建新的 Web 应用程序。

使用 PowerShell 创建基于声明的 Web 应用程序

使用本节中的过程,使用 PowerShell 创建新的基于声明的 SharePoint Server Web 应用程序。

使用 PowerShell 创建基于声明的 Web 应用程序

  1. 确认您具有以下成员身份:

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

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

    • 运行 PowerShell cmdlet 的服务器上的 Administrators 组。

    • 必须阅读 about_Execution_Policies

    管理员可使用 Add-SPShellAdmin cmdlet 授予使用 SharePoint 15 产品 cmdlet 的权限。

    注意

    [!注意] 如果您不具有这些权限,请联系您的安装管理员或 SQL Server 管理员来请求权限。 有关 PowerShell 权限的更多信息,请参阅权限和 Add-SPShellAdmin

  2. 若要创建基于声明的身份验证提供程序,请在 PowerShell 命令提示符下键入以下内容:

    $ap = New-SPAuthenticationProvider
    
  3. 若要创建基于声明的 Web 应用程序,请在 PowerShell 命令提示符下键入以下内容:

    New-SPWebApplication -Name <Name> 
    -ApplicationPool <ApplicationPool> 
    -ApplicationPoolAccount <ApplicationPoolAccount> 
    -URL <URL> -Port <Port> -AuthenticationProvider $ap
    

    其中:

    • <Name> 是使用基于声明的身份验证的新 Web 应用程序的名称。

    • <ApplicationPool> 是应用程序池的名称。

    • <ApplicationPoolAccount> 是运行此应用程序池的用户帐户。

    • <URL> 是此 Web 应用程序的公用 URL。

    • <Port> 是用于在 IIS 中创建 Web 应用程序的端口。

    注意

    有关详细信息,请参阅 New-SPWebApplication

    以下示例使用当前用户凭据和当前计算机名称创建基于 https 声明的 Web 应用程序:

    $ap = New-SPAuthenticationProvider
    New-SPWebApplication -Name "Contoso Internet Site" -URL "https://www.contoso.com"  -Port 80 
    -ApplicationPool "ContosoAppPool" 
    -ApplicationPoolAccount (Get-SPManagedAccount "DOMAIN\wa") 
    -AuthenticationProvider $ap -SecureSocketsLayer
    

    注意

    创建网站后,必须在 IIS 中为此新建网站配置 SSL。

使用 PowerShell 创建经典模式 Web 应用程序

使用本节中的过程,使用 PowerShell 创建新的经典模式 SharePoint Server Web 应用程序。

注意

订阅版不支持 Windows 经典身份验证模式。 有关详细信息,请参阅 SharePoint Server 订阅版中的新增功能和改进功能

使用 PowerShell 创建经典模式 Web 应用程序

  1. 确认您具有以下成员身份:

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

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

    • 运行 PowerShell cmdlet 的服务器上的 Administrators 组。

    • 必须阅读 about_Execution_Policies

  2. 在 PowerShell 命令提示符下,键入以下内容:

    New-SPWebApplication -Name <Name> 
    -ApplicationPool <ApplicationPool>
    -AuthenticationMethod <WindowsAuthType>
    -ApplicationPoolAccount <ApplicationPoolAccount>
    -Port <Port> -URL <URL>
    

    其中:

    • <Name> 是使用经典模式身份验证的新 Web 应用程序的名称。

    • <ApplicationPool> 是应用程序池的名称。

    • <WindowsAuthType> 是"NTLM"或"Kerberos"。 建议选择"Kerberos"。

    • <ApplicationPoolAccount> 是运行此应用程序池的用户帐户。

    • <Port> 是用于在 IIS 中创建 Web 应用程序的端口。

    • <URL> 是 Web 应用程序的公用 URL。

    注意

    有关详细信息,请参阅New-SPWebApplication

    注意

    成功创建 Web 应用程序后,当您打开"管理中心"页时,您将看到一个运行状况规则警告,指示采用经典身份验证模式启用了一个或多个 Web 应用程序。 这就是为何我们建议使用基于声明的身份验证而不是经典模式身份验证。

另请参阅

概念

在 SharePoint Server 中创建使用经典模式身份验证的 Web 应用程序