目录
本文是介绍如何使用 Business Connectivity Services 创建和实现声明感知 Web 服务的系列文章的第二部分(共四部分)。
- WCF:为 SharePoint 2010 Business Connectivity Services 构建 WCF Web 服务(第 1 部分,共 4 部分)
- WCF:在 WCF Web 服务内确定调用方身份(第 2 部分,共 4 部分)(本文)
- WCF:在 WCF Web 服务和 SharePoint 2010 安全令牌服务之间建立信任关系(第 3 部分,共 4 部分)
- WCF:使用启用声明的 WCF Web 服务作为 SharePoint 2010 外部内容类型(第4 部分,共 4 部分)
简介
通过 Windows Identity Foundation (WIF),您可以更有效地控制身份逻辑。可使用 WIF 从 Web 服务中确定调用方的身份。本文中提供的示例对本系列中前一篇文章(WCF:为 SharePoint 2010 Business Connectivity Services 构建 WCF Web 服务(第 1 部分,共 4 部分))中的示例进行了增强,以确定调用方身份。每次调用 Web 服务时,它都会将调用 Web 服务的用户的身份添加到日志文件中。这样,您就可以检查日志文件来查看调用方身份。
生成示例
生成示例
-
下载和安装 Windows Identity Foundation(该链接可能指向英文页面)。在生成 Windows Communication Foundation (WCF) Web 服务的同一计算机上安装 WIF。
-
若要生成 Web 服务,请打开在本系列中的第一篇文章(WCF:为 SharePoint 2010 Business Connectivity Services 构建 WCF Web 服务(第 1 部分,共 4 部分))中创建的项目
-
添加对 Microsoft.IdentityModel 程序集的引用。在 Microsoft Visual Studio 2010 或 Visual Studio 2008 中,单击“项目”,然后单击“添加引用”。
-
单击“浏览”选项卡。浏览到 %ProgramFiles%/Reference Assemblies/Microsoft/Windows Identity Foundation/v3.5。
图 1. Windows Identity Foundation 程序集的位置 -
选择“Microsoft.IdentityModel.dll”,然后单击“确定”。
图 2. 选择 Windows Identity Framework DLL -
将 Customers.svc.cs 的内容替换为以下代码。
-
重新生成应用程序。由于它是使用 Internet Information Services 承载的,因此我们不需要执行任何操作即可激活重新生成的服务。
-
通过 wcftestclient 使用 Web 服务。
-
启动 Visual Studio 命令提示符。
-
键入 wcftestclient 以运行 WCF 测试客户端。
-
单击“文件”,然后单击“添加服务”。
-
键入 http://localhost/Customers/Customers.svc 作为终结点地址,然后单击“确定”。
图 3. 在 WCF 测试客户端中键入终结点地址如果成功添加了服务,则会看到该服务公开的方法。
图 4. 显示方法的 WCF 测试客户端 -
双击“GetAllCustomers”方法。这会打开一个窗口,您可在其中配置请求和调用请求。
-
单击“调用”以调用“GetAllCustomers”方法。
图 5. WCF 测试客户端中的数据 -
调用 Web 服务后,请浏览至 C:/MyWebService,并检查 log.txt。日志文件类似于以下内容:
结论
在本文中,您完成了创建声明感知 Web 服务并通过使用 Business Connectivity Services 来利用该服务的四个主要步骤的第二步。您改善了在 WCF:为 SharePoint 2010 Business Connectivity Services 构建 WCF Web 服务(第 1 部分,共 4 部分)中创建的 Web 服务,添加了使用 WIF 的代码来确定调用方身份,并将该身份写入日志文件。在下一篇文章(WCF:在 WCF Web 服务和 SharePoint 2010 安全令牌服务之间建立信任关系(第 3 部分,共 4 部分))中,您将按照相应过程在 Web 服务和 SharePoint 2010安全令牌服务 (STS) 之间建立信任关系。