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. Android程序设计-圆形图片的实现

    在android中,google只提供了对图形的圆形操作,而没有实现对图片的圆形操作,所以我们无法实现上述操作,在此我们将使用框架进行设计(下述框架为as编写): https://github.com ...

  2. Linux Running State Process ".so"、"code" Injection Technology

    catalog . 引言 . 基于so文件劫持进行代码注入 . 基于函数符号表(PLT)中库函数入口地址的修改进行代码注入 . PLT redirection through shared objec ...

  3. nginx location在配置中的优先级

    location表达式类型 ~ 表示执行一个正则匹配,区分大小写~* 表示执行一个正则匹配,不区分大小写^~ 表示普通字符匹配.使用前缀匹配.如果匹配成功,则不再匹配其他location.= 进行普通 ...

  4. soapUI测试webservice(参数为xml格式的处理方式)

    如果传递的是xml,要用<![CDATA[   ]]>将xml注释为字符串 示例 <?xml version="1.0" encoding="UTF-8 ...

  5. POJ 1061青蛙的约会(拓展欧几里德算法)

    题目链接: 传送门 青蛙的约会 Time Limit: 1000MS     Memory Limit: 65536K Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见 ...

  6. Dword、LPSTR、LPWSTR、LPCSTR、LPCWSTR、LPTSTR、LPCTSTR

    DWORD:本来被定义为unsigned long,DWORD的含义就是双字,一个字是2字节,双字就是32字节. 但是在C/C++中,经常会用到把一个指针转换成数字储存,然后再将其传唤为指针调用.那么 ...

  7. JavaWeb学习总结-04 Servlet 学习和使用

    一 Servlet 1 Servlet概念 Servlet时运行在服务器端的Java程序. Servlet的框架核心是 javax.servlet.Servlet 接口. 所有自定义的Servlet都 ...

  8. 利用mybatis的分页插件实现商品列表的显示

    分析思路: 当我们点击查询商品的时候,会出现商品的列表,并按上下页可以实现分页的查询的功能. 首先首先我们先找到商品查询商品的按钮在jsp的那个页面,即首页index.jsp 这里有个url即显示商品 ...

  9. 创建 sequence

    -- Create sequence create sequence XRMKSD_DET_SEQminvalue 1maxvalue 999999999999999999999999999start ...

  10. Redis学习-开始

    C:\Program Files\Redis\redis-cli.exe 使用servicestack.redis class Program { static void Main(string[] ...