Java Acegi框架技术简介[Java编程]
本文“Java Acegi框架技术简介[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
关于任何一个完好的利用系统,完善的认证和受权机制是必不可少的.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给利用程序穿上安全保护的“铁布衫”.
以上是“Java Acegi框架技术简介[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |