WCF默认绑定

WCF预先为所有绑定都定义了能满足大多数情形的配置模式,这样的话,只要没有修改某个配置参数,WCF就使用默认的安全模式。

先上一张默认的安全设置表格

绑定 设置
wsHttpBinding 使用消息安全和windows验证(NTLM或Kerberos)
basicHttpBinding 无安全设置
wsFederationHttpBinding 使用消息安全和联合验证(Issue Token)
netTcpBinding 使用传输安全和Windows验证(NTLM或Kerberos)
netNamedPipeBinding 使用传输安全和Windows验证(NTLM或Kerberos)
netMsmqBinding 使用传输安全和Windows验证(NTLM或Kerberos)

 

WCF安全模式

任何服务的安全模式设置均决定了安全的俩个基本方面:

1):消息保护的安全模型 2):受支持的客户端验证模式。

安全模式可以用配置文件中Security元素的Mode属性进行设置。

模式 描述
None 此服务对任何人有效,并且消息在传输过程中不收任何保护,使用这种模式时,消息容易受到任何类型的攻击
Transport 用传输安全模式验证客户端和保护消息。
Message 用消息安全模式验证客户端和保护消息
Both 同时用传输安全模式和消息安全模式验证服务的使用者和保护消息。此模式只得到MSMQ绑定的支持,要求俩个模式必须使用同一个证书
TransportWithMessageCredentials 消息保护由传输提供,而且用来验证服务使用者的证书将作为消息的一部分在网络上传输,此模式提供如下灵活性:在消息验证时可以使用任何类型的证书和令牌,而在传输级执行服务验证和消息保护。
TransportCredentialOnly 用传输安全验证客户端。服务没有经过验证,消息和客户端证书以普通文本格式通过传输层。此安全模式可用于如下情形:在客户端与服务之间传送的数据不属于敏感信息,证书向网络中的任何人公开。

 

WCF保护级别

默认时,为了提供数据的机密性和完整性,WCF会对网络传送的所有数据进行加密和签名。对于某些

情形,如果通过传输层发送的消息不包含敏感信息,则可能想禁用加密特性,而用签名保证数据的完整性--不需要担心数据的机密性。对于这些情形,WCF提供了灵活性,可以修改使用消息安全模式时默认的保护级别。

       保护级别可以在数据契约的服务级配置,也可以在操作级配置,以对消息进行更精确的控制。如果同时在操作级和服务级定义保护级别,则操作级的保护级别会覆盖原来服务级的。

       消息契约还支持一种方法,可以覆盖操作级的保护级别。[ProtectionLevel]特性可以定义在消息契约中,也可以定义在任何特定的消息头和消息体中。

      

 

WCF中安全的那些事!!!的更多相关文章

  1. 【WCF】WCF中的InstanceContext与ConcurrencyMode【转】

    一.前言 最近忙于公司的在线升级项目,一个人要负责公司四大产品的在线升级,这四个产品是在Revit中以插件形式存在的,目前基于WCF来实现.等客户总量突破5万了,再重新用socket实现. 由于有服务 ...

  2. WCF中,通过C#代码或App.config配置文件创建ServiceHost类

    C# static void Main(string[] args) { //创建宿主的基地址 Uri baseAddress = new Uri("http://localhost:808 ...

  3. WCF学习之旅—WCF中传统的异常处理(十六)

    WCF中的异常处理 在软件开发过程中,不可能没有异常的出现,所以在开发过程中,对不可预知的异常进行解决时,异常处理显得尤为重要.对于一般的.NET系统来说,我们简单地借助try/catch可以很容易地 ...

  4. 在Wcf中应用ProtoBuf替代默认的序列化器

    Google的ProtoBuf序列化器性能的牛逼已经有目共睹了,可以把它应用到Socket通讯,队列,Wcf中,身为dotnet程序员一边期待着不久后Grpc对dotnet core的支持更期待着Wc ...

  5. ajax调用本地wcf中的post和get

    我们可以通过jQuery调用本地或者远程的wcf服务,本文讲解的是对本地wcf服务的post和get调用方式. post和get到底有什么区别呢?此处不作详述. 但是,post对请求的数据格式更为严格 ...

  6. 在 WCF 中使用高效的 BinaryFormatter 序列化

    本文将定义一个 WCF 终结点行为扩展,以在 WCF 中使用更高效的 BinaryFormatter 进行二进制序列化,并实现对是否使用传统二进制序列化功能的可配置. 介绍 实现步骤 使用方法 效果 ...

  7. WCF初探-28:WCF中的并发

    理解WCF中的并发机制 在对WCF并发机制进行理解时,必须对WCF初探-27:WCF中的实例化进行理解,因为WCF中的并发特点是伴随着服务实例上下文实现的.WCF的实例上下文模型可以通过Instanc ...

  8. WCF初探-27:WCF中的实例化

    理解WCF中的实例化机制 “实例化”是指对用户定义的服务对象以及与其相关的 InstanceContext 对象的生存期的控制.也就是说我们的客户端程序在调用服务端方法时,需要实例化一个服务端代理类对 ...

  9. WCF初探-26:WCF中的会话

    理解WCF中的会话机制 在WCF应用程序中,会话将一组消息相互关联,从而形成对话.会话”是在两个终结点之间发送的所有消息的一种相互关系.当某个服务协定指定它需要会话时,该协定会指定所有调用(即,支持调 ...

随机推荐

  1. JSP教程推荐

    从搭建环境到上手JSP再到Servlet. http://www.runoob.com/jsp/jsp-tutorial.html

  2. CCNET+ProGet+Windows Batch搭建全自动的内部包打包和推送及管理平台

    所要用的工具: 1.CCNET(用于检测SVN有改动提交时自动构建,并运行nuget的自动打包和推送批处理) 2.ProGet(目前见到最好用的nuget内部包管理平台) 3.Windows Batc ...

  3. PHP设计模式(二)

    从最近开始我给自己定了个目标,每周至少更新2篇博客,用来记录自己在上一周里面遇到的问题或者想出的新点子,一方面对自己掌握的知识进行记录,免得时间久了忘得一干二净,二来我的博文虽然不怎么好但也许会对一小 ...

  4. @EmbeddedId和@idClass的区别

    @idClass 使复合主键类成为非嵌入类,使用 @IdClass 批注为实体指定一个复合主键类(通常由两个或更多基元类型或 JDK 对象类型组成).从原有数据库映射时(此时数据库键由多列组成),通常 ...

  5. 大一上学期C语言学习心得总结

    经过一个学期的C语言学习,大体算是在这个编程语言上入了门,能够通过一些代码解决特定的问题.当然,每次成功将问题转换成代码都小有激动,虽然只是在黑框上输出了一些数字或是字符串. 编程,虽然还不是很懂,但 ...

  6. Alpha版本十天冲刺——Day 7

    站立式会议 祝曹鑫杰和常松童鞋生日快乐!短短几天冲刺,就迎来了三位队员的生日,希望也给我们的Alpha版本带来好运,加油! 会议总结 队员 今天完成 遇到的问题 明天要做 感想 鲍亮 上传图片接口 无 ...

  7. iOS - CABasicAnimation

    代码实例: [1] - (void)pulseClick { //!> 宽和高等比例转换 CABasicAnimation * pulse = [CABasicAnimation animati ...

  8. 捉襟见肘之TableView的手势(删除、编辑等)与转场动画手势冲突

    在使用PresentModel的方式进行转场动画时,出现UIPercentDrivenInteractiveTransition和 UITableView的自带手势冲突,问题需要总结,今天系统复习和总 ...

  9. POJ3659 [usaco2008jan_gold]电话网络

    校内OJ上的题,刚开始做的时候以为是道SB题10分钟就能搞完.. 然后准备敲了才发现自己是个SB.. 刚开始以为是个很裸的TreeDP,然后就只设了两个状态,但是怎么想怎么不对.复杂度好像要爆炸.改成 ...

  10. IOS 中的CoreImage框架(framework)

    http://www.cnblogs.com/try2do-neo/p/3601546.html coreimage framework 组成 apple 已经帮我们把image的处理分类好,来看看它 ...