关于数据连接、身份验证和备用访问映射

上次修改时间: 2010年4月13日

适用范围: SharePoint Server 2010

本文内容
通用数据连接
数据连接身份验证
SharePoint 备用访问映射和数据连接

在启用浏览器功能的 InfoPath 表单模板中使用数据连接会产生一些不容忽视的潜在可管理性和身份验证问题。可通过以下方法解决这些问题:使用通用数据连接 (UDC) 文件从表单模板中提取数据连接信息;使用 Secure Store Service(取代了 Office SharePoint Server 2007 的单一登录功能)处理多层体系结构中的身份验证问题;使用 InfoPath Forms Services 中提供的 Web 服务代理。

通用数据连接

SharePoint Foundation 支持数据连接库 (DCL),该库可包含两种不同类型的数据连接、Office 数据连接文件和通用数据连接 (UDC)。Microsoft InfoPath 2010 使用符合通用数据连接 (UDC) 文件架构的数据连接,并且通常具有 *.udcx 或 *.xml 文件扩展名。这些 UDC 文件存储在服务器上,可描述不同的数据源,并且可用于标准表单模板和启用浏览器功能的表单模板。

使用位于数据连接库中的 UDC 文件具有以下优势:

  • 表单设计器可以配置将在 InfoPath 客户端和 InfoPath Forms Services 中使用的表单模板数据连接。

  • 表单设计器可以向多个服务器发布表单模板,并对每个服务器进行不同的数据连接设置,而无需修改表单模板中的数据连接信息。

  • 表单设计器可以发布能够访问不同域中数据源的域安全表单模板。

  • 管理员可以重定向数据连接,而无需修改引用 UDC 文件的表单模板。

  • 管理员可以指定批准哪些连接进行跨域访问。

  • 管理员可以在一台服务器上发布可供多台服务器共享的数据连接。

有关如何创建数据连接库的信息,请参阅如何:创建和使用数据连接库。表单模板始终是针对数据连接库中的 UDC 文件设计的,但也可以将连接配置为使用 UDC 文件的集中管理版本。这些集中管理的 UDC 文件由服务器管理员上载。若要集中管理 UDC 文件,请浏览到"SharePoint 管理中心"网站上的"应用程序管理"页,然后单击"InfoPath Forms Services"部分中的"管理数据连接文件"链接。

当管理员上载 UDC 文件时,可通过在"数据连接向导"中选择数据连接,然后单击"连接选项"按钮,将数据连接配置为使用"集中管理的连接库"可用选项。

重要注释重要说明

这两个 UDC 文件必须具有相同的名称。在建立指向集中管理的数据连接的链接后,可删除本地网站上的数据连接,但无法使用"数据连接向导"对采用已删除数据连接的设计表单模板进行进一步的设计。

支持的数据源

UDC 文件可以描述不同的数据源,因为这些文件不同于以前的 Office 数据连接文件,它们支持更多种类的数据源。但是,虽然支持可在 InfoPath 表单模板中配置的大多数数据源,但仍存在一些无法在 UDC 文件中描述的数据连接类型(如电子邮件提交)。

允许的数据源包括:

  • Microsoft SQL Server 数据库查询

  • Web 服务查询或提交

  • XML 文件查询(位于远程服务器上的 XML 文件)

  • SharePoint 库提交

  • SharePoint 列表查询

  • Web 服务器提交 (HTTP Post)

备注

通过"提交选项"对话框(单击"数据"选项卡上的"提交选项")而不是"数据连接"对话框(单击"数据"选项卡上的"数据连接"),可访问用于创建 HTTP Post 的 UDC 文件的"数据连接向导"。

数据连接身份验证

在 InfoPath 中打开的表单可以直接与为表单模板配置的数据源通信,而在浏览器中打开的表单可直接与运行 InfoPath Forms Services 的服务器(单个服务器或 Web 前端服务器)通信。这就产生了一个通常称为双跃点 的问题。双跃点问题(更确切地说是多跃点委派问题)是一个身份验证问题,它表示无法使用访问第三台计算机或第三层上的资源所需的凭据从第二层中请求资源。

备注

假设需要身份验证的每一层是为 NTLM 身份验证配置的网络上的 Windows 计算机。

例如,浏览器(第一层)中的表单与运行 InfoPath Forms Services(第二层)的服务器通信,此表单与服务器需要轮流访问数据库服务器或网络共享(第三层)上的资源。由于 Microsoft Windows 在浏览器和 InfoPath Forms Services 服务器之间使用的 NTLM 身份验证系统所固有的委派限制,因此无法将在浏览器和运行 InfoPath Forms Services 的服务器之间使用的主要安全令牌传递到数据库服务器。

浏览器表单中更容易出现此问题,因为 InfoPath 中的表单可直接对数据源进行身份验证,以将主要身份验证令牌传递给此服务器,正如浏览器传递给运行 InfoPath Forms Services 的服务器一样。

Microsoft SharePoint Server 2010 的 Secure Store Service 是解决多层体系结构中委派问题的首选方法,但如果 Secure Store Service 不可用,也可使用其他方法。

除 Secure Store Service 外的多层委派解决方案

**基本身份验证/摘要式身份验证:**这种类型的身份验证通常用于标准 HTML 表单,并且可用于在 Extranet 方案中使用的 InfoPath 表单。用户可在出现的对话框中输入其凭据以访问第三层 Web 服务器上的资源,这些凭据可用于另一台 Windows 计算机上的另一个跃点。如果针对基本身份验证进行了配置,服务器将以明文形式发送这些凭据,而摘要式身份验证则通过网络以 MD5 哈希或消息摘要的形式发送凭据。

**嵌入凭据:**可以在通用数据连接 (UDC) 文件中嵌入凭据,但仅当用于访问资源的用户名和密码安全可靠时,才可使用这些凭据。

**使用匿名/服务帐户:**如果将 SharePoint 网站配置为允许匿名访问,则服务器将使用匿名帐户来访问第三层上的资源。

**Kerberos:**Kerberos 是一种设计为支持多层体系结构中委派的身份验证协议。使用 Kerberos,密钥发行中心 (KDC) 服务器可通过用户名和密码来对用户进行身份验证,并为其颁发一个 Kerberos 票证。此票证已加密并带有一个只能由该服务器解密的验证程序。在应用程序的每一层,此票证可由 KDC 进行独立验证而无需用户凭据。

**约束委派:**Windows Server 2003 包含两个分别称为约束委派 (CD) 和协议转换的 Kerberos 服务扩展。在客户端不能使用 Kerberos 或端口 88(Kerberos 端口)被阻止的 Extranet 方案中,这些服务允许 Windows 代表用户获取 Kerberos 票证。大多数 Internet 服务器和公司防火墙默认情况下均会禁止端口 88。CD 要求所有客户端最低运行 Windows XP,所有服务器最低运行 Windows Server 2003。此外,必须在 Active Directory 中启用和配置 CD。

**基于表单的身份验证:**SharePoint 管理员可以指定将基于表单的身份验证作为用户用来向服务器进行验证的机制。在基于表单的身份验证中,将执行以下操作:

  1. 用户向 Web 前端 (WFE) 发送 HTTP 请求。

  2. WFE 返回一个指向 Web 表单的 HTTP 302(重定向)响应。

  3. 用户在 Web 表单中键入凭据。

  4. 第三方插件身份验证提供程序对这些凭据进行验证,并将这些凭据映射为 WFE 可识别的凭据(如 SharePoint ID)。

该过程结束后,用户会拥有一个有效的 SharePoint ID。但 InfoPath Forms Services 不具有用于建立连接的有效 Windows 凭据,并且该表单必须使用 SSO 或其他方法才能获取凭据以连接到数据源。

建议使用的身份验证方法:Secure Store Service 和 Web 服务代理

**Secure Store Service:**Secure Store Service 不同于上面所列的方法,通过它所提供的备用凭据可连接到第二层以外的服务器上的资源。Secure Store Service 是一个数据库,该数据库可将应用程序和用户凭据映射到其他凭据以及提取 Secure Store Service 功能的 API,以便可以使用包括此 API 的提供程序的任何安全存储提供程序。下面的安全存储提供程序是供服务器管理员用于处理 InfoPath 表单的候选程序:

  • Office Server 安全存储提供程序

  • 第三方安全存储提供程序

有关配置 Secure Store Service 的详细信息,请参阅下面的主题:如何:使用 Secure Store Service 连接到外部系统如何:使用 Secure Store Service 中的凭据连接到外部系统Business Connectivity Services 安全概述 (SharePoint Foundation 2010) 以及 Business Connectivity Services 安全概述 (SharePoint Server 2010)

**使用代理的多层 Web 服务身份验证:**若要跨多层体系结构启用 Web 服务请求,则应提供 InfoPath Forms Services 代理以从浏览器表单转发 Web 服务 SOAP 消息。

用于启用代理的选项位于"SharePoint 管理中心"网站的"应用程序管理"页中。单击"InfoPath Forms Services"部分中的"管理 Web 服务代理"链接,可为管理员部署的表单和/或用户部署的表单启用代理。

备注

UDC 文件中的 UseFormsServiceProxy 属性必须设置为 true,以便代理转发 SOAP 消息。

SharePoint 备用访问映射和数据连接

SharePoint 中的备用访问映射为服务器场管理员提供了一种机制,用来确定用户访问门户网站的各种方式,从而确保能够针对用户访问 SharePoint 网站的方式显示相应的 URL。例如,公司 Intranet 上的用户可使用 URL http://benefits 访问其公司的福利网站,而公司员工在家里可使用 URL https://benefits.mycompany.com 从 Extranet 访问同一网站。

备用访问映射通常不影响 InfoPath Forms Services 处理数据连接的方式。但是,如果用户从 Intranet 和 Extranet 位置访问表单,则应从这两个位置配置和测试数据连接的身份验证模型,以确保能够正确操作。为确保建立连接,应根据备用访问映射,与使用完全限定 URL 而不是本地服务器名称的服务器进行连接。

若要在 SharePoint 管理中心查看备用访问映射设置,请浏览到"操作"页并单击"全局配置"部分中的"备用访问映射"链接。有关备用访问映射的详细信息,请在 Technet 上的 Microsoft SharePoint Server 2010 中搜索"alternate access mapping"或"备用访问映射"。

请参阅

概念

如何:创建和使用数据连接库