可用的身份验证模式

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

适用范围: SharePoint Server 2010

本文内容
传递身份验证
RevertToSelf 身份验证
Windows 凭据身份验证
凭据身份验证
DigestCredentials 身份验证
重要说明

使用 Microsoft Business Connectivity Services (BCS) 连接到 Web 或 WCF 服务时,可采用以下身份验证模式。

传递身份验证

传递身份验证 指的是操作系统可以将客户端的身份验证信息传递至外部系统。BCS 对于数据库连接和 Web/WCF 服务连接均支持传递身份验证。如果使用传递身份验证,则以最终用户的标识进行身份验证。

从网页访问 BDC 时,它将在 Microsoft Internet Information Services (IIS) 工作进程 w3wp.exe 中运行。此进程的标识为模拟登录用户的 IIS 应用程序池帐户。为了避免在 BDC 向后端服务器进行身份验证时丢失登录用户的标识,您必须在运行 IIS 的服务器和其他计算机之间启用 Kerberos 委派。Kerberos 委派使接收服务器可以将身份验证请求发送至正确的位置。

使用 BDC 进行爬网时,它将在筛选器端口监控程序进程 mssdmn.exe 中运行。要访问后端内容源时,此筛选器端口监控程序进程中的线程将模拟与后端内容源关联的内容访问帐户。

使用传递身份验证的一个缺点是操作系统仅公开用户名和密码。因此,如果某公司采用双因子身份验证(如果除了用户名和密码之外,用户还必须输入一些特定的私人信息),则不能使用传递身份验证。

传递身份验证使用简便,因此它在测试环境中是不错的选择。如果 Web 服务或目标服务器使用匿名身份验证或 SSL 连接,则也可以使用此模式。

RevertToSelf 身份验证

如果用户采用 Windows 身份验证登录,则 IIS 会模拟这个特定帐户。当 IIS 在应用程序池标识下运行时,它会模拟登录用户,而请求在被向前传递之前将在该用户的模拟帐户下运行。

利用 RevertToSelf 身份验证可还原此模拟,并以为 IIS 应用程序池配置的基础帐户进行身份验证。

警告注释警告

如果自定义代码使用 RevertToSelf 进行身份验证,则通过向应用程序池标识授予特权,代码可以向用户授予后端服务器上的系统级特权。在生产系统上运行自定义代码之前,请确保全面测试该自定义代码。

Windows 凭据身份验证

Microsoft SharePoint Server 2010 使用来自其提供的安全存储提供程序的 Windows 凭据进行身份验证。如果您的 Web 或 WCF 服务使用 Windows 身份验证,则可采用此模式。采用此模式之前需要设置Secure Store Service。使用 Windows 凭据时,BDC 会尝试将从Secure Store Service返回的用户名字段拆分为域\用户名,然后使用域、用户名、密码这三项一起来进行身份验证。

凭据身份验证

Microsoft SharePoint Server 2010 对 Web/WCF 服务系统进行身份验证时,使用的凭据不同于 Windows 身份验证的凭据,Windows 身份验证的凭据来自其提供的安全存储提供程序。这些凭据用于进行基本身份验证或摘要式身份验证,具体取决于 Web 服务服务器的配置。由于基本身份验证和摘要式身份验证不足以保护凭据,因此应该使用 SSL 或 IPSec(或同时使用这两者)来保护 Web 服务服务器与运行 BDC 的服务器之间的通信。

如果您的 Web 服务使用 Windows 凭据以外的其他凭据,则可采用此模式。采用此模式之前需要设置Secure Store Service。使用凭据时,BDC 不会像 Windows 凭据模式一样尝试将Secure Store Service返回的用户名字段拆分为域\用户,而是直接使用用户名和密码进行身份验证。

DigestCredentials 身份验证

Microsoft SharePoint Server 2010 还可以通过使用 HTTP 摘要式凭据对 WCF 服务系统进行身份验证。有关更多详细信息,请参阅 ClientCredentials.HttpDigest 属性(该链接可能指向英文页面)

重要说明

如果您收到一条应用程序定义导入错误,提示您 BDC 无法连接到 WSDL,请注意 WSDL 可能是非公用的。这种情况下,您需要使用本主题中讨论的某种模式来设置身份验证,或手动将 WSDL 复制到本地系统并将 WSDLFetchURL 指向文件 URL。