技术开发 频道

WCF的传输安全机制

【IT168 分析评论】

    Windows Communication Foundation (WCF) 中的传输安全机制取决于使用的绑定和后续传输。例如,当使用 WSHttpBinding 类时,传输为 HTTP,保证传输安全的主要机制为 HTTP 上的安全套接字层 (SSL)(通常称为 HTTPS)。本主题讨论 WCF 系统提供的绑定中使用的主要传输安全机制。

    注意:

    将 SSL 安全与 .NET Framework 3.5 和更高版本一起使用时,WCF 客户端将使用其证书存储区中的中间证书和 SSL 协商期间收到的中间证书,对服务的证书执行证书链验证。.NET Framework 3.0 仅使用本地证书存储区中安装的中间证书。

    BasicHttpBinding

    默认情况下,BasicHttpBinding 类不提供安全。此绑定旨在提供与不实现安全机制的 Web 服务提供程序的互操作性。但可以通过将 Mode 属性设置为 None 以外的值来启用安全。若要启用传输安全,请将该属性设置为 Transport。

    BasicHttpBinding 类主要用于与现有的 Web 服务和由 Internet 信息服务 (IIS) 承载的许多服务进行互操作。因此,此绑定的传输安全旨在实现与 IIS 站点的无缝互操作。通过将安全模式设置为 Transport,然后设置客户端凭据类型可以实现这一目的。凭据类型值对应于 IIS 目录安全机制。下面的代码演示如何设置模式以及如何将凭据类型设置为 Windows。当客户端和服务器在同一个 Windows 域中时,您可以使用此配置。

    或在配置中:

    <bindings> <basicHttpBinding> <binding name="SecurityByTransport"> <security mode="Transport"> <transport clientCredentialType="Windows" /> </security> </binding> </basicHttpBinding></bindings>

    以下几节讨论其他客户端凭据类型。

    基本

    这对应于 IIS 中的基本身份验证方法。使用此模式时,必须为 IIS 服务器配置 Windows 用户帐户和适当的 NTFS 文件系统权限。有关 IIS 6.0 的更多信息,请参见启用基本身份验证和配置领域名(可能为英文网页)。有关 IIS 7.0 的更多信息,请参见 IIS 7.0 测试版本:配置基本身份验证(可能为英文网页)。

    证书

    IIS 有一个要求客户端使用证书进行登录的选项。此功能还可以使 IIS 将客户端证书映射到 Windows 帐户。有关 IIS 6.0 的更多信息,请参见在 IIS 6.0 中启用客户端证书(可能为英文网页)。有关 IIS 7.0 的更多信息,请参见 IIS 7.0 测试版本:在 IIS 7.0 中配置服务器证书(可能为英文网页)。

    摘要式

    摘要式身份验证类似于基本身份验证,但其具有以哈希形式而不是明文形式发送凭据的优点。有关 IIS 6.0 的更多信息,请参见 IIS 6.0 中的摘要式身份验证(可能为英文网页)。有关 IIS 7.0 的更多信息,请参见 IIS 7.0 测试版本:配置摘要式身份验证(可能为英文网页)。

    Windows

    这对应于 IIS 中的集成 Windows 身份验证。设置为此值时,还需要服务器位于使用 Kerberos 协议作为其域控制器的 Windows 域中。如果服务器不在支持 Kerberos 的域中,或者如果 Kerberos 系统失败,您可以使用下一节中说明的 NT LAN Manager (NTLM) 值。有关 IIS 6.0 的更多信息,请参见 IIS 6.0 中的集成 Windows 身份验证(可能为英文网页)。有关 IIS 7.0 的更多信息,请参见 IIS 7.0 测试版本:在 IIS 7.0 中配置服务器证书(可能为英文网页)。

    NTLM

    这可使服务器在 Kerberos 协议失败时使用 NTLM 进行身份验证。有关 在 IIS 6.0 中配置 IIS 的更多信息,请参见强制 NTLM 身份验证(可能为英文网页)。对于 IIS 7.0,Windows 身份验证包括 NTLM 身份验证。有关更多信息,请参见 IIS 7.0 测试版本:在 IIS 7.0 中配置服务器证书(可能为英文网页)。

0
相关文章