当前位置:天才代写 > tutorial > JAVA 教程 > Acegi(三):Acegi?Who are you?

Acegi(三):Acegi?Who are you?

2017-11-13 08:00 星期一 所属: JAVA 教程 浏览:799

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实用中环绕"七剑"都有哪些部件可用。

 

    关键字:

天才代写-代写联系方式