随笔分类 -  [01] 技术剖析

上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 22 下一页
摘要:对于WCF服务来说,一个服务具有若干操作,而这些操作由于提供的功能或者内部访问的资源不同,需要进行不同的权限设置。借助于.NET安全相关的应用编程接口,我们可以通过声明的方式将某个服务操作与调用该操作应当具有的权限集进行关联。在运行时,当调用某个服务操作的用户被成功认证后,它具有的权限集被获取出来并绑定到当前安全上下文。WCF框架本身在试图执行目标操作之前可以根据当前安全上下文确定该用户是否有权限执行该服务操作。 阅读全文
posted @ 2011-07-12 22:13 Artech 阅读(9811) 评论(12) 推荐(10) 编辑
摘要:在《模拟(Impersonation)与委托(Delegation)》一文中,我们对模拟和委托这两个概念以及相关编程实现进行了详细说明。如果将模拟使用在WCF上面,就意味着WCF可以模拟客户端身份(而不是启动寄宿进程的Windows帐号)执行服务操作。这篇文章主要介绍WCF关于模拟的编程。 阅读全文
posted @ 2011-07-12 22:05 Artech 阅读(3785) 评论(0) 推荐(3) 编辑
摘要:在《原理篇》中,我们谈到WCF自定义授权体系具有两个核心的组件:AuthorizationPolicy和ServiceAuthorizationManager,已经它们是如何写作最终提供一种基于声明的授权实现。为了让自定义授权有深刻的理解,我们来进行一个简单实例来演示如何通过自定义这两个组件实现“非角色授权策略”。 阅读全文
posted @ 2011-07-11 22:16 Artech 阅读(9580) 评论(16) 推荐(13) 编辑
摘要:到目前为止,我么介绍的授权策略都是围绕着安全主体进行的,基本上都是基于角色的授权。虽然角色是定义权限最为常用的形式,但是它解决不了授权的所有问题。有时候授权需要通过一个复杂的表达式来表示,而且其中会涉及诸多元素,比如身份、角色和组织等。一句话,如果简单的基于角色的授权不能解决我们的问题,我们需要自定义授权策略。 阅读全文
posted @ 2011-07-11 21:13 Artech 阅读(8603) 评论(6) 推荐(10) 编辑
摘要:在《原理篇》中我们谈到:如果采用自定义安全主体权限模式,我们可以通过自定义AuthorizationPolicy或者ServiceAuthorizationManager实现对基于当前认证用于相关的安全主体的提供,进而达到授权的目的。为了让大家对此有个更加深刻的认识,在这篇文章中我们会提供一个具体的例子。 阅读全文
posted @ 2011-07-09 20:35 Artech 阅读(6015) 评论(29) 推荐(5) 编辑
摘要:在《通过扩展自行实现服务授权》一文中,我通过自定义CallContextInitializer的方式在操作方法之前之前根据认证用户设置了当前线程的安全主体,从而实现授权的目的。实际上,WCF的安全体系本就提供相应的扩展,使你能够自由地实现安全主体的提供方式。具体来说,安全主体的提供可以通过自定AuthorizationPolicy或者ServiceAuthorizationManager来实现。 阅读全文
posted @ 2011-07-07 22:07 Artech 阅读(6529) 评论(5) 推荐(12) 编辑
摘要:其实针对安全主体的授权实现的原理很简单,原则上讲,只要你能在服务操作执行之前能够根据本认证的用户正确设置当前的安全主体就可以了。如果你了解WCF的整个运行时框架结构,你会马上想到用于授权的安全主体初始化可以通过自定义CallContextInitializer来实现。 阅读全文
posted @ 2011-07-05 19:01 Artech 阅读(7425) 评论(20) 推荐(8) 编辑
摘要:为了让读者对基于ASP.ENT Roles授权方式有一个全面的认识,我们现在来做一个实例演示。在这个实例中,我们将采用不同的认证方式,包括Windows认证和证书认证(ASP.NET Membership + Roles为常见的组合方式,在这里就不多作演示)。 阅读全文
posted @ 2011-07-04 19:43 Artech 阅读(5127) 评论(11) 推荐(10) 编辑
摘要:在采用Windows认证的情况下,使用基于Windows用户组安全主体权限模式是一个不错的选择,但是采用ASP.NET Roles却可以使用与任何类型的客户端凭证和认证模式。甚至可以这么说,绝大部分基于角色的授权都可以通过ASP.NET Roles来实现。 阅读全文
posted @ 2011-07-04 13:46 Artech 阅读(7587) 评论(3) 推荐(14) 编辑
摘要:由于服务操作是在寄宿进程中执行,在默认的情况下,服务操作是否具有足够的权限访问某个资源(比如文件)决定于执行寄宿进程Windows帐号的权限设置,而与作为客户端的Windows帐号无关。在有多情况下,我们希望服务操作执行在基于客户端的安全上下文中执行,以解决执行服务进行的帐号权限不足的问题。这就涉及到一个重要的话题——模拟与委托。 阅读全文
posted @ 2011-07-03 15:00 Artech 阅读(8092) 评论(11) 推荐(8) 编辑
摘要:为了让读者对基于Windows用户组的授权具有深刻的认识,接下来我们通过一个简单的事例来讲解在真正的应用中该授权模式如何使用。对于接下来演示的事例,我们将采用Windows认证和授权。至于授权的最终实现,我们采用的是在服务方法上面应用PrincipalPermissionAttribute特性方式的声明式授权。 阅读全文
posted @ 2011-07-02 22:58 Artech 阅读(5691) 评论(23) 推荐(6) 编辑
摘要:Windows用户组安全主体权限模式,顾名思义,就是将利用Windows安全系统将对应的Windows帐号所在的用户组作为该用户权限集的授权方式。认证和授权密不可分,但是对于认证和授权在WCF安全体系中的实现来说,它们则是相对独立的。认证属于安全传输的范畴,是在信道层实现的,而授权则是在服务模型层实现的。但是对于基于Windows用户组的授权来说,最终体现出来的授权行为却和采用何种认证具有密切的关系。 阅读全文
posted @ 2011-07-02 11:35 Artech 阅读(7376) 评论(6) 推荐(6) 编辑
摘要:前面的两篇文章主要探讨基于安全主体的授权。通过这些介绍我们知道:如果我们在实施授权的时候,当前线程的安全主体能够被正确设置,我们就可以正确地完成授权。安全主体具有两个基本的要素:身份与权限。身份在客户端经过认证之后已经确立下来,现在需要解决的问题就是如何获取被认证用户的权限。为了解决这个问题,WCF为我们提供了三种不同的方案。 阅读全文
posted @ 2011-07-01 22:44 Artech 阅读(14237) 评论(11) 推荐(10) 编辑
摘要:毫不夸张地说,安全主体(Principal)是整个授权机制的核心。我们可以简单地将将安全主体定义成能够被成功实施授权的主体。一个安全主体具有两个基本的要素:基于某个用户的安全身份和该用户具有的权限。绝大部分的授权都是围绕着“角色”进行的,我们将一组相关的权限集和一个角色绑定,然后分配给某个用户。所以在基于角色授权环境下,我们可以简单地将安全主体表示成:身份 + 角色。 阅读全文
posted @ 2011-06-30 14:57 Artech 阅读(9364) 评论(15) 推荐(19) 编辑
摘要:我们为应用建立安全保障体系的一个重要的目的在于:通过权限控制让用户只能执行被允许的功能,访问被许可的资源。这就是本系列文章讨论的主题授权。对于WCF服务来说,一个服务具有若干操作,而这些操作由于提供的功能或者内部访问的资源不同,需要进行相应的授权。在正式介绍WCF授权之前,先来谈谈两个重要的概念:身份与安全主体。 阅读全文
posted @ 2011-06-29 22:56 Artech 阅读(9287) 评论(22) 推荐(26) 编辑
摘要:对消息进行签名和加密分别解决了消息的一致性和机密性问题。而最终是仅仅采用签名还是签名与加密共用取决于契约中对消息保护级别的设置。但是具体的签名和加密在整个WCF框架体系中如何实现?是采用对称加密还是非对称加密?密钥如何而来?相信这些问题在本篇文章中你会找到答案 阅读全文
posted @ 2011-06-27 07:40 Artech 阅读(3098) 评论(8) 推荐(11) 编辑
摘要:在《上篇》中,我们着重讨论了消息的保护等级如果在契约中定义,定义在不同契约(服务契约、错误契约和消息契约)中的消息保护等级具有怎样的层级关系,以及在默认情况下各种绑定采用怎样的保护等级。在下篇中,我们进一步来探讨消息保护等级和绑定的关系。 阅读全文
posted @ 2011-06-21 23:04 Artech 阅读(4348) 评论(13) 推荐(9) 编辑
摘要:到目前为止,对于WCF安全传输的三个方面,我们已经对认证进行了详细的介绍,现在我们来关注另外两个话题:消息的一致性和机密性,两者又统称为消息保护(Message Protection)。消息安全等级指的是对整个消息或者消息的某个部分实施安全保护采用的等级。按照级别由低到高,WCF支持三种不同的安全等级 阅读全文
posted @ 2011-06-20 23:20 Artech 阅读(5626) 评论(25) 推荐(15) 编辑
摘要:前面介绍Windows认证和用户名/密码认证这两种典型的客户端认证模式,我们最后来介绍最后一种客户端认证方式,即客户端凭证类型为X.509证书时服务端采用的认证,简称为证书认证。本篇文章主要涉及两个主题:在客户端如何设置X.509证书作为客户端凭证;在服务端如何设置不同的模式来对客户端的证书凭证进行认证 阅读全文
posted @ 2011-06-15 22:01 Artech 阅读(9992) 评论(17) 推荐(7) 编辑
摘要:对于基于Internet的应用,基于用户名和密码的认证方式是最为常用的,而WCF为你提供了不同模式的用户名认证方式:Windows、MembershipProvider和Custom 阅读全文
posted @ 2011-06-13 21:13 Artech 阅读(16138) 评论(16) 推荐(14) 编辑

上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 22 下一页