代码之家  ›  专栏  ›  技术社区  ›  ckv

以下配置在WCF上下文中意味着什么?

  •  1
  • ckv  · 技术社区  · 12 年前

    我从VS2013中向我的客户端应用程序添加了一个WCF作为服务引用,它在app.config文件中生成了以下配置节。

                    <security mode="Message">
                        <transport clientCredentialType="None" />
                        <message clientCredentialType="None" />
                    </security>
    

    这是什么意思?安全模式是消息,但其中有单独的实体用于传输和消息。我很困惑。

    1 回复  |  直到 12 年前
        1
  •  3
  •   Derek W    12 年前

    提供传输安全性有两个主要选择:要么在传输级别上提供传输安全,要么在消息级别上提供。

    MSDN上有一篇很好的文章讨论了这一点 here .

    运输安全:

    使用传输安全时,用户凭据和声明如下 通过使用传输层传递。换句话说,用户凭据 依赖于传输,这允许更少的身份验证选项 与消息安全性相比。

    消息安全性:

    使用消息安全性时,用户凭据和声明如下 使用WS-Security规范封装在每个消息中 安全消息。此选项从 身份验证视角。您可以使用任何类型的安全性 您需要的凭据,基本上独立于传输,只要 客户和服务双方都同意。

    按评论更新

    它在您提供的配置文件上下文中的含义:

    设置 security mode (在这种情况下 message ),您可以选择设置客户端凭据类型。客户端凭据类型属性指定客户端必须向服务提供何种类型的凭据以进行身份验证。在这种情况下,如果 transport 或 消息 指定为 安全模式 那么他们将使用 None 作为客户端凭证类型,这意味着客户端不必出示任何凭证。

    目前,以下行基本上被忽略,因为 消息 是指定的 安全模式 .

    <transport clientCredentialType="None" />