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. Ubuntu下root密码认证错误

    1.默认root密码是随机的,即每次开机都有一个新的root密码.我们可以在终端输入命令 sudo passwd root,然后输入当前用户的密码,再输入要设置root的密码,我们一般设置成两个都一样 ...

  2. xcoj 1208 矩阵

    赛场上一开始以为是递推,交了一发希望以为能卡着线过(毕竟是O(5N)的),结果WA了. 又以为是dp,最后半小时尝试各种YY...各种WA 实际上取每次transfer中最大的概率然后递推是不对的.. ...

  3. C#做窗体皮肤

    网上有很好的皮肤控件 SkinEnigne可供使用: 具体步骤: 添加控件SkinEngine. 1.右键“工具箱”.“添加选项卡”,取名“皮肤”. 2.右键“皮肤”,“选择项”弹出对话框. 3.点击 ...

  4. C#关闭窗口代码

    if (MessageBox.Show("请您确认是否退出(Y/N)", "系统提示", MessageBoxButtons.YesNo, MessageBox ...

  5. SQL请求优化——请求次数统计,SQL写操作稀释

    引言 前几天做了这么一个东西:一个游戏中有个活动页面,活动页面有个商品,商品下面要显示该商品实浏览次数,就相当于是用户每出发一次请求这个浏览总次数都会添加一次,这个问题很简单,每次浏览的时候去数据库中 ...

  6. 【Phylab2.0】Alpha版本发布说明

    新版本特性 更多的实验 Part Phylab2.0[Alpha] Phylab1.0 1011 1010113 缺失 1011 1010212 缺失 1021 1020113 1021 102021 ...

  7. MongoDB安装部署(一)

    前言 MongoDB是一个由C++语言编写的基于分布式文件存储的数据库,是当前NoSQL数据库中比较热门的一种,旨在为Web应用提供可扩展的高性能数据存储解决方案. MongoDB 简介 MongoD ...

  8. >>> FilterDispatcher <<< is deprecated! Please use the new filters!

    在struts2.3.20下,web.xml中使用 会出现*********************************************************************** ...

  9. chrome断点调试

    chrome断点调试 在编写JavaScript代码时,如果出现了bug,就要不断的去找错误,如果console控制台中提示还好说,可是没有提示恐怕就要费一番周折了.但是有了chrome这个浏览器,我 ...

  10. SQL语句注入

    1:       select *from user where username='admin' and password='123456'  or 1='1';    万能密码 2:       ...