当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:16:00  来源:本站整理

Acegi(三):Acegi?Who are you?[Java编程]

赞助商链接



  本文“Acegi(三):Acegi?Who are you?[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

Acegi是个什么?

是一个基于Spring的开源框架,用来做安全掌握. 基于Spring? 能不能在不用Spring的情形下配置Acegi呢?Acegi官网上有一个链接:Use Withou Spring ,看来是可以的,自己还没有着手做过. 实现安全掌握? 原理是什么? Servlet的Filter和AOP机制: 操纵Filter, Acegi实现了基于Web实用的URI保护; 通过AOP,Acegi实现了对象拜候办法的保护;操纵ACL,Acegi实现了对prototype范例的Object举行过滤和保护.

Acegi的核心概念是什么?近似实现又哪些?

Acegi本质上是一种security solution的实现.

而普通而言,security solution都有哪些基本概念呢? 基本概念有两个:认证(Authentication )与受权(Authorization). 随便说一下, 我一向认为这两个词翻译的很不直观, 若光看这两个字,认为非常摸不着头脑. 我们来看下Acegi官方文档的注释. authentication is the process of establishing a principal is who they claim to be. A "principal" generally means a user, device or some other system which can perform an action in your application. 这里边有个核心词principal,通俗的理解是要在咱们所写系统中操作的东东,这个东东可以是人(当然这是最见的),可以是某一个别的什么设备(机械人啥的,呵呵),还可以是别的系统.有了这个,authentication的理解就顺理成章了: authentication 就是看看要操作咱们系统的东东是不是真的,这在实际利用中大多是通过密码考证来实现的,也就是对暗号,如暗号对上了,你就是真的了. 而Authorization呢? "Authorization" refers to the process of deciding whether a principal is allowed to perform an action in your application. 上面我们说到一个principal要操作咱们的系统,假如这个principal是真的, 那接下来很自然的就是看Ta有没有权限来做Ta想要的操作了. 这也恰是Authorization要干的事儿.

有了这两个根本的概念,接下的全部事理解起来就简单了. 这个接下来的事就是Acegi怎么计划实现. 如果自己来计划实现那还真是个问题, 不过看别人的还不至于那么难.

对这两个最核心的概念说的有点多了, 下面看下Acegi的近似实现,也就是Acegi的兄弟们,以及跟他们相比,Acegi自身又有什么上风.

要说Acegi的兄弟, 人们最简单想起来的还是JAAS.大家知道, 这是Java EE里尺度实现, 那是由于JAAS的什么缺陷导致小弟Acegi把风头给抢了呢? JAAS配置烦琐、供应的安全拜候机制粒度不够和JAAS在WAR和EAR层面上没有移植性这些缺陷是江湖传播很广的说法,当然本人也没机会做这方面的具体对比,姑且就人云亦云地承受这种说法吧.

别的一个兄弟我也是这些天刚熟习, 一个叫Crowd的框架, 由于一点也没有接触过,也就不刚妄下判断.看一些文章知道这个Crowd可以跟Acegi结合起来用,想必是它补偿了些Acegi的缺陷吧.

核心部件都有哪些?

按理解的深度,Acegi有两个层次上的核心部件.第一层的核心部件是以配置的角度来看的, 也就是说我们要想配置一个Acegi保护的系统都要触及到哪些. 第二层是实现的核心, 也就是说它们整个Acegi就玩不转了. 这个第二层跟配置不一样, 第一层所说的配置仅仅是利用的一方面,Acegi可以有多种实用并加自己的扩大, 而全部全部的这一切都是环绕第二层的核心部件组建的.

第一层的部件放到下一篇结合实例来阐明,这里重点说下实现层面上的核心部件,它们顺次是:SecurityContextHolder , SecurityContext , HttpSessionContextIntegrationFilter(这个虽放到这里,它在这里也可以说是代表了它们一个群体) , Authentication , GrantedAuthority , UserDetails , UserDetailsService . 一共七个, 我们在这里称之为"七剑". 写到这里,头脑里隐隐约约感遭到老子的道家思惟了. 你看, Acegi的核心机惟是"保护", 环绕这个核心机惟分出两个概念Authentication 和Authorization, 具体到怎么来实现这个两个概念就有了我们所说的"七剑", 再往下就是针对差别场所利用的支持,而再往下就是目前千千万万项目顶用到的Acegi配置及扩大.这一个演变系列是不是有点像"道生一,一生二,二生三,三生万物"呢?

对这"七剑"的理解很重要, 只有理解了它们,才能到达万变不离其宗地机动配置.

这"七剑"在这也先不展开谈论, 等在领会了实例及解析了"第一层核心部件"后再回过头看吧, 那样理解上更自然些.

絮絮叨叨写了不少, 回头总结下,也为下篇写下开首: 这篇以静态的角度了Acegi的核心概念及其核心部件, 下一篇中将着手配置一个小例子,来个逼真感受下Web实用中环绕"七剑"都有哪些部件可用.


  以上是“Acegi(三):Acegi?Who are you?[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • Acegi(一):酝酿将近一年后的提高
  • Acegi(二): 苍茫后,写还是不写?
  • Acegi(三):Acegi?Who are you?
  • Acegi(四):Acegi初体验及初解剖
  • <b>Acegi源码研究(五):七剑下天山</b>
  • Acegi源码研究(六):Acegi编码/筹划碎得
  • Acegi(七):LogoutFilter配置及几个问题
  • Acegi(八):securityContextHolderAwareRequestFilter
  • Acegi(九) 子类SavedRequestAwareWrapper
  • <b>Acegi(十):securityContextHolderAwareRequestFilter结</b>
  • Acegi(十一):鉴戒Acegi的Exception的非常处理
  • Acegi(十二):anonymousProcessingFilter有什么好玩的?
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .