2

我们有一个 SharePoint 应用程序,它需要从 WCF 服务检索外部数据,该服务又从 SQL 服务器 (2005) 获取数据。SharePoint 通过 NTLM 进行身份验证,并且可以将凭据转换为 SharePoint 服务器上的声明。

WCF 服务连接到以前由 Web 应用程序访问的数据库(正在将 Web 应用程序迁移到 SP+WCF)。该数据库是经过许可的,因此必须以最终用户的身份访问它,当它是客户端->Web 应用程序->SQL Server 时很好,但当它是客户端->SharePoint->WCF 服务->SQL Server 时会失败。

我已经阅读了一些关于模拟和 c2wts 的信息,我认为这适用于这种情况,但我不确定它是如何适应的。它应该在 SharePoint 服务器还是服务服务器等上......?

如何通过 SharePoint 和 WCF 服务保留最终用户的身份以便能够访问 SQL 服务器?

4

2 回答 2

3

您需要配置 Kerberos 身份验证。提前告诉你,这是一个 PITA。

以下是一些帮助您入门的链接(我在 SP2007 上关注过它们,但如果您使用 SP2010,应该不会有太大区别):

http://blogs.objectsharp.com/cs/blogs/max/archive/2008/08/01/implementing-kerberos-in-sharepoint-running-on-windows-server-2008.aspx

http://blogs.msdn.com/b/martinearn/archive/2007/04/23/configuring-kerberos-for-sharepoint-2007-part-1-base-configuration-for-sharepoint.aspx

于 2011-04-14T10:43:05.940 回答
2

此问题的另一种解决方案是使用安全存储。这将允许您将单个用户映射到您的 bdc 模型的单独存储的凭据或映射到单个凭据的用户组。

于 2011-05-08T03:15:33.103 回答