前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[WCF安全系列]绑定、安全模式与客户端凭证类型:总结篇

[WCF安全系列]绑定、安全模式与客户端凭证类型:总结篇

作者头像
蒋金楠
发布2018-02-07 15:30:47
7220
发布2018-02-07 15:30:47
举报
文章被收录于专栏:大内老A

对于常用的几种绑定类型,它们都支持怎样的安全模式,以及针对各种安全模式可以采用怎样的认证方式(通过客户端凭证类型决定),这些都在前面的一系列文章中进行了详细的介绍。接下来我们通过表格的形式对不同类型的系统预定义对不同的安全模式进行一下总结。

一、系统预定义绑定对不同安全模式的支持

下面的表格表示系统预定义绑定对不同安全模式的支持(WSHttpBinding与WS2007HttpBinding具有相同的安全模式支持策略,这里仅仅列出了WSHttpBinding)。

BasicHttpBinding

WSHttpBinding

WSDualHttpBinding

NetNamedPipeBinding

NetTcpBinding

NetMsmqBinding

None

Default

Yes

Yes

Yes

Yes

Yes

Transport

Yes

Yes

No

Default

Default

Default

Message

Yes

Default

Default

No

Yes

Yes

Mixed

Yes

Yes

Yes

No

Yes

No

Both

No

No

No

No

No

Yes

TransportCredentialOnly

Yes

No

No

No

No

No

针对这个表格,我们可以看出:

  • 所有的绑定都可以不采用任何的安全传输机制,即支持None安全模式;
  • BasicHttpBinding的默认模式为None,WS相关的绑定默认模式为Message,而局域网相关绑定的模式模式为Transport;
  • 除了NetNamedPipeBinding,所有的绑定都支持Message安全模式;
  • 对于所有支持Message模式的绑定,除了NetMsmqBinding都支持Mixed模式;
  • 除了WSDualHttpBinding,所有的绑定都支持Transport模式;
  • 只有BasicHttpBinding支持TransportCredentialOnly模式;
  • 只有NetMsmqBinding支持Both安全模式。

二、系统预定义绑定对不同Transport客户端凭证的支持

接下来我们来比较一下对应我们之前介绍的这些常用的系统定义绑定在采用Transport安全模式下,对客户端凭证类型集的支持有何不同。

BasicHttpBinding

WSHttpBinding

WSDualHttpBinding

NetNamedPipeBinding

NetTcpBinding

NetMsmqBinding

None

Default

Yes

-

No

Yes

No

Basic

Yes

Yes

-

No

No

No

Digest

Yes

Yes

-

No

No

No

Windows

Yes

Default

-

Default

Default

Default

Ntlm

Yes

Yes

-

No

No

No

Certificate

Yes

Yes

-

No

Yes

No

从下面的表格反映的数据我们可以看出:

  • 三种基于HTTP的绑定(不包括不支持Transport安全模式的WSDualHttpBinding)支持所有类型的客户端凭证(实际上客户端凭证类型都是通过枚举HttpClientCredentialType表示);
  • 除了BasicHttpBinding在默认的情况下None作为客户端凭证类型(匿名客户端)之外,其它绑定的默认客户端凭证类型都是Windows;
  • NetTcpBinding支持三种客户端凭证类型None、Windows和Certificate;
  • NetNamedPipeBinding和NetMsmqBinding支持唯一的客户端凭证类型Windows。

三、系统预定义绑定对不同Message客户端凭证的支持

而不同的绑定针对于Message模式(或者Mixed模式)下的客户端凭证类型的支持就非常清晰了。因为除了BasicHttpBinding采用BasicHttpMessageCredentialType枚举表示其支持的客户端凭证类型之外,其它所有的绑定(不包括不支持Message安全模式的NetNamedPipeBinding)都使用MessageCredentialType表示客户端凭证类型,并且。在Message模式下,不同类型的绑定对不同客户端凭证类型集的支持反映在下面的表格中。

BasicHttpBinding

WSHttpBinding

WSDualHttpBinding

NetNamedPipeBinding

NetTcpBinding

NetMsmqBinding

None

No

Yes

Yes

-

Yes

Yes

User Name

Default

Yes

Yes

-

Yes

Yes

Windows

No

Default

Default

-

Default

Default

Certificate

Yes

Yes

Yes

-

Yes

Yes

IssuedToken

No

Yes

Yes

-

Yes

Yes

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2011-05-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、系统预定义绑定对不同安全模式的支持
  • 二、系统预定义绑定对不同Transport客户端凭证的支持
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档