WCF之安全
- 传输安全.
- 点对点,对整个消息进行加密,性能损失,当中间者不安全时,消息也就不安全了.
- WCF中支持传输安全和消息安全模式。
- 通过配置和绑定来设置。<Security Mode =Transction/Message/TranandMess>.
- 消息安全.
- 对消息的最终接受者保证安全,即使中间者不安全,消息不受影响,可选择对部分消息进行加密.
- 数据处理效率低于传输安全.
- 保护级别.
- 默认是EncryptAndSign,但需要绑定的支持.
- 当C/S间级别不同时,协商并使用两者的最小者进行保护.
- 证书.
- 由于密码不是很安全,密码过短,易破解。过长,不容易记忆。对于程序与程序间的交互,使用密码,缺乏规范。带来混乱。所以使用证书.
- 在企业内网内,使用令牌,不会使用身份扮演.
- 在Intenet上,由于用户过多,记住他们太大,所以使用少量的用户名来扮演。
- 在Intranet上,用户数量少,且可确定,所以不使用扮演.
- 使用身份扮演,也是一种安全机制,可以使得用户扮演为一个权限较低的角色,来限制访问的资源.
- 非内网,但是可信。数量有限。所以使用颁发证书的方法。互认证.
- Peer Trust: Peer to Peer的信任。当没有权威的CA时。证书的来源不可靠。但是由于业务伙伴被我们信任。所以可以认为证书在没有CA时,仍然可信.
- 在线撤销:在整个认证流程中。系统对证书的细节进行检查。不合法时,撤销它.
- 当C/S在传输前要进行协商。
- 一次登陆,N次使用时也要使用协商.
- 对于多次调用才能完成请求的,要使用安全会话。
- 降低开销. 单次调用,不需要使用安全会话.
- 在Internet上无法使用令牌(无法知道客户来之那里,是否属于域)。证书对于有些用户没法要求其安装。只能使用用户名密码.
- 基于角色的授权.
- 系统基于角色来授权,而不直接与用户进行交互。
- 对于一个调用栈,向上递归检查是否有权限进行调用,直到查到某一次调用有权限时终止.
- 但是当移植到第3方时,可能无法映射到某个角色上,就事论人.
- 基于许可的授权.
- 为系统中的每一个操作特性都创建许可,然后两者关联。新特性,创建新许可。
- 非内建,当跨平台时,出现问题。
- 2个系统的许可的交互当名字不同时会产生权限分配上的问题,当名字一样儿权限不同时,更有问题.
- 基于声明的授权:.
- 对于各种的凭证类型,都被归为一种验证。
- 声明能够包含很多的有用信息。由发布者保证信任关系.
- 安全令牌:可以跨平台。
- 由于其被保存到SOAP的消息安全头中.安全令牌被WCF映射到声明中.
WCF之安全的更多相关文章
- WCF学习之旅—第三个示例之四(三十)
上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) WCF学习之旅—第三个示例之三(二十九) ...
- 【WCF】使用“用户名/密码”验证的合理方法
我不敢说俺的方法是最佳方案,反正这世界上很多东西都是变动的,正像老子所说的——“反(返)者,道之动”.以往看到有些文章中说,为每个客户端安装证书嫌麻烦,就直接采用把用户名和密码塞在SOAP头中发送,然 ...
- 【WCF】错误协定声明
在上一篇烂文中,老周给大伙伴们介绍了 IErrorHandler 接口的使用,今天,老周补充一个错误处理的知识点——错误协定. 错误协定与IErrorHandler接口不同,大伙伴们应该记得,上回我们 ...
- 【WCF】自定义错误处理(IErrorHandler接口的用法)
当被调用的服务操作发生异常时,可以直接把异常的原始内容传回给客户端.在WCF中,服务器传回客户端的异常,通常会使用 FaultException,该异常由这么几个东东组成: 1.Action:在服务调 ...
- [WCF]缺少一行代码引发的血案
这是今天作项目支持的发现的一个关于WCF的问题,虽然最终我只是添加了一行代码就解决了这个问题,但是整个纠错过程是痛苦的,甚至最终发现这个问题都具有偶然性.具体来说,这是一个关于如何自动为服务接口(契约 ...
- 【原创经验分享】WCF之消息队列
最近都在鼓捣这个WCF,因为看到说WCF比WebService功能要强大许多,另外也看了一些公司的招聘信息,貌似一些中.高级的程序员招聘,都有提及到WCF这一块,所以,自己也关心关心一下,虽然目前工作 ...
- Ajax使用WCF实现小票pos机打印源码
通过ajax跨域方式调用WCF服务,实现小票pos机的打印,源码提供web方式,客户端方式测试,服务驻留右侧底部任务栏,可控制服务开启暂停,用户可自定义小票打印模板,配合零售录入. qq 22945 ...
- C# 用SoapUI调试WCF服务接口(WCF中包含用户名密码的验证)
问题描述: 一般调试wcf程序可以直接建一个单元测试,直接调接口. 但是,这次,我还要测试在接口内的代码中看接收到的用户名密码是否正确,所以,单一的直接调用接口方法行不通, 然后就想办法通过soapU ...
- WCF基础
初入职场,开始接触C#,开始接触WCF,那么从头开始学习吧,边学边补充. SOA Service-Oriented Architecture,面向服务架构,粗粒度.开放式.松耦合的服务结构,将应用程序 ...
- Mono下的WCF的Bug?
最近一段时间,一直在折腾Mono,折腾Linux.让我无比痛苦的是Mono下的WCF的坑真的是太多了,这不又遇到了一个莫名其妙的问题. 环境:mono 3.2.1,Jexus 5.4.3,OS Cen ...
随机推荐
- MySQL错误:Can't connect to MySQL server (10060)
转自:http://database.51cto.com/art/201107/274565.htm 当远程连接MySQL数据库的时候显示Can't connect to MySQL server ( ...
- Java生成 Word文档的并打印解决方案
户要求用程序生成标准的word文档,要能打印,而且不能变形,以前用过很多解决方案,都在客户严格要求下牺牲的无比惨烈. POI读word文档还行,写文档实在不敢恭维,复杂的样式很难控制不提,想象一下一个 ...
- 深入了解android平台的jni(一)
android中很多Java类都具有native接口,这些接口由本地实现,然后注册到系统中. 主要的JNI代码放在以下的路径中:frameworks/base/core/jni/,这个路径中的 ...
- C++面向对象的编程
C++面向对象的编程 目录 对C++面向对象编程的理解 声明和定义类 声明和定义 构造函数 析构函数 静态成员和静态变量 类实例化对象 对象的浅复制和深复制 继承 单继承 多继承 虚函数 类模板 其他 ...
- oc-20-多态
/** 为什么父类可以访问子类继承自父类的方法,但是无法访问子类独有的方法? 1.编译器编译时: 编译器在编译时,只检查指针变量的类型,确定该指针变量类型里面有下面调用的方法,如果有该方法,编译器就认 ...
- 进程产生的三种方式:fork、system和exec
1.fork()方式 fork()函数以父进程为蓝本复制一个进程,其ID号与父进程ID号不同.在Linux环境下,fork()是以写复制实现的,只有内存等与父进程不同,其他与父进程共享,只有在父进程或 ...
- 关于MFC库和CRT库冲突的分析
当MFC库和CRT库冲突时,会出现一个LNK2005的错误.具体的错误如下: nafxcwd.lib(dllmodul.obj): error LNK2005: _DllMain@12 already ...
- 1.4.2 solr字段类型--(1.4.2.3)使用货币和汇率
1.4.2 solr字段类型 (1.4.2.1) 字段类型定义和字段类型属性. (1.4.2.2) solr附带的字段类型 (1.4.2.3) 使用货币和汇率 (1.4.2.4) 使用Dates(日期 ...
- UVa OJ 10300
Problem A Ecological Premium Input: standard input Output: standard output Time Limit: 1 second Memo ...
- 免费公测:RDS只读实例
免费公测:RDS只读实例 简要介绍 在对数据库有少量写请求,但有大量的读请求的应用场景下,单个实例可能无法抵抗读取压力, 甚至对主流程业务产生影响.为了实现读取能力的弹性扩展,分担数据库压力,阿里 ...