WCF:在 WCF Web 服务内确定调用方身份(第 2 部分,共 4 部分)

来源:互联网 发布:淘宝店铺设计效果图 编辑:程序博客网 时间:2024/06/05 07:20

目录

  • 简介
  • 生成示例
  • 结论
  • 其他资源

本文是介绍如何使用 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 服务的用户的身份添加到日志文件中。这样,您就可以检查日志文件来查看调用方身份。

生成示例

生成示例

  1. 下载和安装 Windows Identity Foundation(该链接可能指向英文页面)。在生成 Windows Communication Foundation (WCF) Web 服务的同一计算机上安装 WIF。

  2. 若要生成 Web 服务,请打开在本系列中的第一篇文章(WCF:为 SharePoint 2010 Business Connectivity Services 构建 WCF Web 服务(第 1 部分,共 4 部分))中创建的项目

  3. 添加对 Microsoft.IdentityModel 程序集的引用。在 Microsoft Visual Studio 2010 或 Visual Studio 2008 中,单击“项目”,然后单击“添加引用”

  4. 单击“浏览”选项卡。浏览到 %ProgramFiles%/Reference Assemblies/Microsoft/Windows Identity Foundation/v3.5。



    图 1. Windows Identity Foundation 程序集的位置

    浏览到 WIF 程序集所在的位置
  5. 选择“Microsoft.IdentityModel.dll”,然后单击“确定”



    图 2. 选择 Windows Identity Framework DLL

    选择 Windows Identity Framework DLL
  6. Customers.svc.cs 的内容替换为以下代码。

    VB
    C#
    C++
    F#
    JScript
    复制
    不支持该语言或没有可用的代码示例。
  7. 重新生成应用程序。由于它是使用 Internet Information Services 承载的,因此我们不需要执行任何操作即可激活重新生成的服务。

  8. 通过 wcftestclient 使用 Web 服务。

  9. 启动 Visual Studio 命令提示符。

  10. 键入 wcftestclient 以运行 WCF 测试客户端。

  11. 单击“文件”,然后单击“添加服务”

  12. 键入 http://localhost/Customers/Customers.svc 作为终结点地址,然后单击“确定”



    图 3. 在 WCF 测试客户端中键入终结点地址

    在 WCF 测试客户端中输入端点地址

    如果成功添加了服务,则会看到该服务公开的方法。



    图 4. 显示方法的 WCF 测试客户端

    显示方法的 WCF 测试客户端
  13. 双击“GetAllCustomers”方法。这会打开一个窗口,您可在其中配置请求和调用请求。

  14. 单击“调用”以调用“GetAllCustomers”方法。



    图 5. WCF 测试客户端中的数据

    显示数据的 WCF 测试客户端
  15. 调用 Web 服务后,请浏览至 C:/MyWebService,并检查 log.txt。日志文件类似于以下内容:

    复制
    GetAllCustomers: Identity: CONTOSO/ericwhite

结论

在本文中,您完成了创建声明感知 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) 之间建立信任关系。

原创粉丝点击