webservices.h) (WS_TCP_SSPI_TRANSPORT_SECURITY_BINDING 结构

用于指定 Windows 集成身份验证协议 ((如 Kerberos、NTLM 或 SPNEGO)) TCP 传输的安全绑定子类型。 可以使用安全绑定属性 WS_SECURITY_BINDING_PROPERTY_WINDOWS_INTEGRATED_AUTH_PACKAGE选择特定的 SSP 包;如果未指定该属性,则默认使用 SPNEGO。 强烈建议不要使用 NTLM,因为它的安全弱点 (特别是缺少服务器身份验证) 。 如果要允许 NTLM,则必须将 WS_SECURITY_BINDING_PROPERTY_REQUIRE_SERVER_AUTH 的安全绑定属性设置为 FALSE

此安全绑定在传输安全级别运行,仅 支持WS_TCP_CHANNEL_BINDING。 TCP/Windows SSPI 组合使用 NegotiateStream 协议和 .Net 消息帧规范定义的线路形式。

在客户端,目标服务器的安全标识是使用 WsOpenChannel 期间提供的 WS_ENDPOINT_ADDRESS 参数的标识字段指定的。 如果标识是 WS_SPN_ENDPOINT_IDENTITYWS_UPN_ENDPOINT_IDENTITY,则直接将字符串标识值与 SSP 一起使用。 如果标识是 WS_DNS_ENDPOINT_IDENTITY 且其 dns 字段的值为“d1”,或者如果未在 WS_ENDPOINT_ADDRESS 中指定任何标识,并且主机组件根据RFC2396) 第 3.2.2 节 (地址 URI 为“d1”,则格式“host/d1”将用作服务器 SPN。 在 WS_ENDPOINT_ADDRESS 中指定任何其他 WS_ENDPOINT_IDENTITY 子类型将导致 WsOpenChannel 失败。

使用此安全绑定,可以指定以下安全绑定属性:

语法

typedef struct _WS_TCP_SSPI_TRANSPORT_SECURITY_BINDING {
  WS_SECURITY_BINDING                   binding;
  WS_WINDOWS_INTEGRATED_AUTH_CREDENTIAL *clientCredential;
} WS_TCP_SSPI_TRANSPORT_SECURITY_BINDING;

成员

binding

从中派生此安全绑定子类型和所有其他安全绑定子类型的基类型。

clientCredential

用于对客户端进行身份验证的 Windows 集成身份验证凭据。 这在客户端上是必需的,不得在服务器上指定。

要求

   
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
标头 webservices.h