WCF BasicHttpBinding 安全解析(8)Message安全模式(iis宿主)
Message安全模式基于消息保护,强制客户端和服务端提供证书,服务端对返回的消息体进行加密。本节笔者更换服务端的证书,名为XuanhunServer1。
首先我们在服务端配置Message安全模式,如代码清单11-106所示。
代码清单11-106 配置Message安全模式
<bindings>
<basicHttpBinding>
<bindin
http://www.cyqdata.cn/cnblogs/article-detail-41198
[WCF权限控制]模拟(Impersonation)与委托(Delegation)[上篇]
由于服务操作是在寄宿进程中执行,在默认的情况下,服务操作是否具有足够的权限访问某个资源(比如文件)决定于执行寄宿进程Windows帐号的权限设置,而与作为客户端的Windows帐号无关。在有多情况下,我们希望服务操作执行在基于客户端的安全上下文中执行,以解决执行服务进行的帐号权限不足的问题。这就涉及到一个重要的话题——模拟(Impersonation)与委托(Delegation)[实例程序源代码
http://www.cyqdata.cn/cnblogs/article-detail-41176
[WCF权限控制]基于Windows用户组的授权方式[下篇]
为了让读者对基于Windows用户组的授权具有深刻的认识,接下来我们通过一个简单的事例来讲解在真正的应用中该授权模式如何使用。对于接下来演示的事例,我们将采用Windows认证和授权。至于授权的最终实现,我们采用的是在服务方法上面应用PrincipalPermissionAttribute特性方式的声明式授权。[源代码从这里下载] 目录: 步骤一、创建测试帐号 步骤二、创
http://www.cyqdata.cn/cnblogs/article-detail-41167
WCF 第九章 诊断 系列文章
上一个系列主要描述WCF中最关键的环节:安全。没有安全WCF将不复存在,也就没有价值。我们将深入讨论WCF中安全的实现形式以及具体内容。本系列主要描述如何知道你的WCF服务正在做什么以及出问题时候底层在做什么?我们不能保证WCF服务一直稳定运行,但我们可以保证在WCF出现异常时可以第一时间找到问题。
[第1篇] 诊断
正如你在之前的章节所看到的那样,WCF为配置你的分布式应用程序和使用自定义代码扩
http://www.cyqdata.cn/cnblogs/article-detail-41160
[WCF权限控制]基于Windows用户组的授权方式[上篇]
Windows用户组安全主体权限模式,顾名思义,就是将利用Windows安全系统将对应的Windows帐号所在的用户组作为该用户权限集的授权方式。认证和授权密不可分,但是对于认证和授权在WCF安全体系中的实现来说,它们则是相对独立的。认证属于安全传输的范畴,是在信道层实现的,而授权则是在服务模型层实现的。但是对于基于Windows用户组的授权来说,最终体现出来的授权行为却和采用何种认证具有密切的关
http://www.cyqdata.cn/cnblogs/article-detail-41127
[WCF权限控制]WCF的三种授权模式
前面的两篇文章(《从两个重要的概念谈起:Identity与Principal[上篇]》和《从两个重要的概念谈起:Identity与Principal[下篇]》)主要探讨基于安全主体的授权。通过这些介绍我们知道:如果我们在实施授权的时候,当前线程的安全主体能够被正确设置,我们就可以正确地完成授权。基于相同的原理,对于WCF的服务授权,如果正确的安全主体能够在服务操作被执行之前被正确设置到当前线程,借
http://www.cyqdata.cn/cnblogs/article-detail-41112
WCF4.0进阶系列—第九章 事务支持(下)
本章上篇内容:WCF4.0进阶系列—第九章 事务支持(上)
【正文】
设计支持事务的WCF服务
本章前面小节的内容为你展示了在WCF服务中如何实现事务,但是在设计支持事务的WCF服务时,仍然有许多问题值得你关注。
事务、会话和服务实例模式
如果你在WCF服务中在一个或多个操作上设置OperationBehavior特性类的TransactionAutoComplete属性值为f
http://www.cyqdata.cn/cnblogs/article-detail-41105
WCF BasicHttpBinding 安全解析(6)Digest验证(IIS宿主)
Digest验证方式在Basic验证方式的基础上增加了摘要信息,采用的是挑战-应答模式。Digest验证也是Http安全验证的标准(RFC 2617)。
首先我们修改服务端配置文件启用Digest验证,如代码清单11-95。
代码清单11-95 启用Digest验证
<basicHttpBinding><binding name="basicBindingConf">&l
http://www.cyqdata.cn/cnblogs/article-detail-41094
WCF 第八章 安全 系列文章
上一个系列主要讲述WCF中的服务是如何寄宿的,寄宿环境等等。包括IIS, WAS, NT Service, 桌面应用程序,控制台应用程序。当前系列将描述WCF中最关键的环节:安全。没有安全WCF将不复存在,也就没有价值。我们将深入讨论WCF中安全的实现形式以及具体内容。
[第1篇] 安全
很难想象在当今环境的商业应用中有比安全还要严重的一个方面。性能和可用性也是主要关注的,但对一些偶尔需要安全(事
http://www.cyqdata.cn/cnblogs/article-detail-41085
[WCF权限控制]从两个重要的概念谈起:Identity与Principal[下篇]
毫不夸张地说,安全主体(Principal)是整个授权机制的核心。我们可以简单地将将安全主体定义成能够被成功实施授权的主体。一个安全主体具有两个基本的要素:基于某个用户的安全身份和该用户具有的权限。绝大部分的授权都是围绕着“角色”进行的,我们将一组相关的权限集和一个角色绑定,然后分配给某个用户。所以在基于角色授权环境下,我们可以简单地将安全主体表示成:身份 + 角色。在.NET基于安全的应用编程接
http://www.cyqdata.cn/cnblogs/article-detail-41051
使用Entity Framework和WCF Ria Services开发SilverLight之5:客户端主外键联表查询
在上一篇中我们对EF中的POCO进行了映射,如果这个时候我们使用主外键来进行联表查询,会很遗憾的发现凡是关联表的信息,在客户端获取的全部是null。
本篇我们介绍如何使用Entity Framework和WCF Ria Services在SL客户端获取主外键联表查询的数据。
1:添加引用
第一步,为Model项目添加引用System.ServiceModel.DomainServices.Serv
http://www.cyqdata.cn/cnblogs/article-detail-41049
WCF HttpBinding 安全解析 (5)Basic验证(IIS宿主)
Basic验证方式是基于用户名/密码的验证方式,在Windows环境下,我们提供的是有效的Windows用户名和密码。但是Basic身份验证方式和Windows身份验证方式是有本质上的区别的。Basic是Http安全规范(RFC 2617),不同的互联网应用体系都可以实现和进行Basic身份验证。
我们使用代码清单11-89的配置在TransportCredentialOnly模式下启用Basic
http://www.cyqdata.cn/cnblogs/article-detail-41042
使用Entity Framework和WCF Ria Services开发SilverLight之6:查找指定字段
对数据库表指定字段的查找,又是实际工作中的一项必要工作。SL客户端仅获取实际需要的指定的字段,好处很多,比如:有助于减少网络流量。
有两类这样的使用场景。
1:联表查询不需要外键表
在上一篇中,我们使用了联表查询,在联表查询中,DAL部分的代码是这样的:
我们已经指出,无论是你是否使用Include方法,只要实体类指定了Include特性,客户端都会获取到被关联的Course记录。诚然,有时候我
http://www.cyqdata.cn/cnblogs/article-detail-41038
WCF 第七章 寄宿 系列文章
上一个系列主要讲述WCF中的序列化与编码,包括不同编码/序列化器选择原则,大数据流操作等等。本篇主要讲述WCF中的服务是如何寄宿的,寄宿环境等等。包括IIS, WAS, NT Service, 桌面应用程序,控制台应用程序。
[第1篇] 基础
一个服务宿主就是用来管理一个WCF服务的生命周期和上下文服务的一个操作系统进程。服务宿主,或者仅称为”宿主”,负责启动和停止WCF服
http://www.cyqdata.cn/cnblogs/article-detail-41032
Silverlight学习点滴之一——使用WCF RIA构建应用
WCF RIA是一项很有意思的技术,能够让客户端的Silverlight直接访问服务端的数据库,而不需要创建新的WCF项目(当然,其底层还是通过WCF实现的),就像操作本地的数据库一样。
不过,WCF RIA只能用于Silverlight。相关安装包在Silverlight 4.0中包含。
我选择创建的是Silverlight Businuss,参考的是这个视频:.NET RIA Services
http://www.cyqdata.cn/cnblogs/article-detail-41022
[WCF权限控制]从两个重要的概念谈起:Identity与Principal[上篇]
在安全领域,认证和授权是两个重要的主题。认证是安全体系的第一道屏障,守护着整个应用或者服务的第一道大门。当访问者叩门请求进入的时候,认证体系通过验证对方提供凭证确定其真实身份。作为看门人的认证体系,只有在证实了访问者的真实身份的情况下才会为其打开城门,否则将之举之门外。 当访问者入门之后,并不意味着它可以为所欲为。为了让适合的人干适合的事,就需要授权机制为具体的人设置具体的权限,并根据这些权限设
http://www.cyqdata.cn/cnblogs/article-detail-41000
WCF4.0进阶系列—第九章 事务支持(上)
【前言】
大部分程序通常需要确保其操作数据的一致性。通过事务可以帮助达到该一致性。一个事务指一个组工作或一系列操作的原子性,原子性意味着要么全部成功地执行,要么当某个异常发生时全部均不执行。事务的典型例子是在两个银行账户之间转账,即从一个账户上扣除一定数量的金钱并将同样数量的金钱添加至另外一个账户。如果添加操作失败,那么扣除操作也必须复原,否则原账户的金钱丢失。相应地,如果扣除操作失败,添加操作
http://www.cyqdata.cn/cnblogs/article-detail-40978
WCF BasicHttpBinding 安全解析(4)windows验证(IIS宿主)
现在我们讨论TransportCredentialOnly安全模式下的安全配置,首先在配置文件中添加如代码清单11-84所示的配置节,配置windows验证。Windows凭据认证是基于Windows组账户或者域账户进行认证的方式。在这种认证方式下,客户端进程运行的Window帐号对应的Windows凭证被自动作为调用服务的客户端凭证,
http://www.cyqdata.cn/cnblogs/article-detail-40962
通过添加HTTP Header实现上下文数据在WCF的自动传递
多年之前,我写了一篇通过WCF扩展实现上下文信息从客户端自动传递到服务端的文章,其实现机制很简单:将上下文信息存放到SOAP Header进行传递。那么对于非SOAP消息的RESTful服务就不使用了。为了解决这个问题,我们可以将存放上下文信息的地方从SOAP Header替换成HTTP Header。这篇为你消息讲述具体的实现[源代码从这里下载]。 目录 一、 Ambient
http://www.cyqdata.cn/cnblogs/article-detail-40943
WCF 第六章 序列化与编码 系列文章
上一个系列我们主要描述WCF行为,包括服务行为、操作行为和安全行为。服务行为包括服务有一个实例的并发、多个实例并发以及多线程访问;操作行为中有涉及WCF中相对常见和重要的WCF事务处理方面内容,个人认为这一章还是很重要的。这一系列主要讲述WCF中的序列化与编码,包括不同编码/序列化器选择原则,大数据流操作等等。相信通过本系列你可以更加了解WCF底层是如何处理数据的。
[第1篇] 基础
在第二章"契
http://www.cyqdata.cn/cnblogs/article-detail-40941