一种基于Acegi框架和RBAC模型的权限控制改进策略.docx

上传人:rrsccc 文档编号:8909094 上传时间:2021-01-24 格式:DOCX 页数:2 大小:12.91KB
返回 下载 相关 举报
一种基于Acegi框架和RBAC模型的权限控制改进策略.docx_第1页
第1页 / 共2页
一种基于Acegi框架和RBAC模型的权限控制改进策略.docx_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《一种基于Acegi框架和RBAC模型的权限控制改进策略.docx》由会员分享,可在线阅读,更多相关《一种基于Acegi框架和RBAC模型的权限控制改进策略.docx(2页珍藏版)》请在三一文库上搜索。

1、一种基于Acegi框架和RBAC模型的权限控制改进策略摘要:本文在对Acegi中引入RBAC模型的利弊分析基础上,提出了在Acegi中采用一种折衷的权限管理方案。该方案把对Web资源和业务方法的保护同对领域对象的保护隔离开来,采用不同的访问控制模型。关键词:Acegi;认证;授权;RBAC1.引言在各种基于J2EE的应用开发中,以认证授权为基本操作的权限控制子系统是不可缺少的部分,而且在模块化的系统开发中,一个基本前提就是权限控制子系统对各业务逻辑系统透明,简单说就是业务逻辑系统中不应包含权限控制的语句。因此构建一个通用的、便携性强的、便于配置和管理的真正贴近开发实际的安全控制架构尤为重要。2

2、.Acegi架构的不足轻量级J2EE框架Spring的出现,无疑为应用的便携性铺平了道路,通过IoC和AOP等核心技术的使用,使得POJO取代EJB成为程序的主角,开发者可以为POJO业务对象提供声明式的事务管理和其他横切性的企业级服务。而构建在它上的Acegi秉承了这一极为重要的优势,成为了J2EE安全领域事实上的标准。但在实际的应用开发中,Acegi也存在着一些不能满足实际应用的地方:其一、Acegi给出的基于XML文件授权信息的配置策略,显然不符合实际的应用环境,在大多数应用中权限往往是动态变化的,管理员可能随时需要配置、维护和修改权限信息。而采用XML文件作为受保护资源的授权信息的载体

3、,显然无法满足这一基本需求。其二、Acegi提供的基于RDBMS的用户权限控制模型虽然适合一些小规模,低复杂度的使能应用,但对错综复杂的安全需求缺乏统一的支持,需要进一步引入更为复杂、适用面更加广泛的权限控制模型。3. 在Acegi中引入RBAC的利弊分析面向角色的访问控制(RBAC)模型实现了用户与访问权限的逻辑分离,减少了授权管理的复杂性,降低了管理开销和管理复杂度。但在实际的J2EE应用的设计与开发中,是否采用基本的RBAC权限管理模型仍需要根据实际需求做出取舍,以求达到系统复杂度和效率的平衡。比如在对Acegi权限管理的改进和扩展中,我们虽然可以考虑直接把标准的基于RBAC的权限管理数

4、据模型引入Acegi中,但对大多数基于Web的应用来说,这却不一定是最好的解决方案,原因如下:* 权限校验复杂。在大多数Web应用中,系统主要关注的是对Web资源和业务方法的保护,当客户发出对Web资源的访问请求时,这样的请求在很多时候非常频繁,采用RBAC权限管理模型系统在进行权限校验时需要不断的遍历和递归,对系统性能的负面影响显而易见。* 对领域对象的权限控制实现起来也比较低效。比如在笔者参与开发过的一个基于Web的内容管理系统(Content Management System,CMS)中,员工可以创建信息栏目,这时他就是该栏目的所有者,拥有对该栏目的一切权力,而RBAC模型无法直接对用

5、户进行授权,必须通过角色,这无疑是低效的。4. 在Acegi中RBAC模型的改进因此,这里提出一种折中的权限管理方案。把对Web资源和业务方法的保护同对领域对象的保护隔离开来,采用不同的数据模型。具体如下所示:(1)对Web资源和业务方法的保护采用简化的RBAC模型因为在绝大多数应用中,对Web资源和业务方法而言,操作只有“访问”一种情况,所以在RBAC模型中去掉operations表,直接把资源同角色联系起来。数据管理模型如图1所示:图1:简化的RBAC模型这样,不但提高了系统权限校验的效率,而且使得每张表的容量比起RBAC模型来明显减少,使得我们可以把它们整体放入缓存中,进一步减少了授权操

6、作的时间,加快了系统的响应速度。(2)对领域对象的保护采用ACL模型ACL模型是操作系统普遍采用安全控制模型。从领域对象的角度而言,每个领域对象都有各自的访问控制列表(ACL),各个ACL可能持有若干个访问控制项(ACE),ACE真正给出了操控当前领域对象的具体权限信息。该模型的E-R图如图2所示:图2:ACL模型的E-R图借助于这一在操作系统中普遍使用的ACL模型,不但模型本身更容易理解,而且可以直接对用户或角色授权,这对领域对象的保护提供了极大的灵活性。5.结束语本文在基于对Acegi的研究的基础上,通过对Acegi进行改进扩展,在构建一个通用性好的、便于配置和管理的安全控制架构方面做了一定的尝试。参考文献:【1】 Rod JohnsonProfessional Java development with the spring frameworkUSA:Wiley Publishing,2005.【2】 王永峰. 基于Spring的安全框架Acegi在Web系统中的应用.铁路计算机应用 , 2006,(12).

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1