当前位置:天才代写 > tutorial > JAVA 教程 > Java Acegi框架技能简介

Java Acegi框架技能简介

2017-11-10 08:00 星期五 所属: JAVA 教程 浏览:419

对付任何一个完整的应用系统,完善的认证和授权机制是必不行少的。Acegi Security(以下简称Acegi)是一个能为基于Spring的企业应用提供强大而机动安详会见节制办理方案的框架,Acegi已经成为Spring官方的一个子项目,所以也称为Spring Security。它通过在Spring容器中设置一组Bean,充实操作Spring的IoC和AOP成果,提供声明式安详会见节制的成果。固然,此刻Acegi也可以应用到非Spring的应用措施中,但在Spring中利用Acegi是最自然的方法。

Acegi可以实现业务工具要领级的安详会见节制粒度,它提供了以下三方面的应用措施的安详:

URL资源的会见节制

如所有用户(包罗其名用户)可以会见index.jsp登录页面,而只有授权的用户可以会见/user/addUser.jsp页面。Acegi答允通过正则表达式或Ant气势气魄的路径表达式界说URL模式,让授权用户会见某一URL匹配模式下的对应URL资源。

业务类要领的会见节制

Spring容器中所有Bean的要领都可以被Acegi打点,如所有用户可以挪用BbtForum#getRefinedTopicCount()要领,而只有授权用户可以挪用BbtForum#addTopic()要领。

规模工具的会见节制

业务类要领代表一个详细的业务操纵,好比变动、删除、审批等,业务类要了解见节制办理了用户是否有挪用某种操纵的权限,但并未对操纵的客体(规模工具)举办节制。对付我们的论坛应用来说,用户可以挪用BbtForum#updateUser(User user)要领变动用户注册信息,但应该仅限于变动本身的用户信息,也即挪用BbtForum#updateUser()所操纵的User这个规模工具必需是受限的。

Acegi通过多个差异用途的Servlet过滤器对URL资源举办掩护,在请求受掩护的URL资源前,Acegi的Servlet过滤器判定用户是否有权会见方针资源,授权者被开放会见,而未未被授权者将被否决在大门之外。

Acegi通过Spring AOP对容器中Bean的受控要领举办拦截,当用户的请求激发挪用Bean的受控要领时,Acegi的要领拦截器开始事情,阻止未授权者的挪用。

对规模工具的会见节制成立在对Bean要领掩护的基本上,在最终开放方针Bean要领的执行前,Acegi将查抄用户的ACL(Aeccess Control List:会见节制列表)是否包括正要举办操纵的规模工具,只有规模工具被授权时,用户才可以利用Bean要领对规模工具举办处理惩罚。另外,Acegi还可以对Bean要领返回的功效举办过滤,将一些不在当前用户会见权限范畴内的规模工具剔除去——即传统的数据可视域范畴的节制。一般来说,利用Acegi节制数据可视域未非抱负的选择,相反通过传统的动态SQL的办理方案往往越发简朴易行。

从本质特性上来说,Servlet过滤器就是最原始的原生态AOP,所以我们可以说Acegi不单对业务类要领、规模工具会见节制回收了AOP技能方案,对URL资源的会见节制也利用了AOP的技能方案。利用AOP技能方案的框架是令人振奋的,这意味着,开拓者可以在应用措施业务成果开拓完毕后,轻松地通过Acegi给应用措施穿上安详掩护的“铁布衫”。

 

    关键字:

天才代写-代写联系方式