一种基于Acegi框架和RBAC模型的权限控制改进策略
1.引言 在各种基于J2EE的应用开发中,以认证授权为基本操作的权限控制子系统是不可缺少的部分,而且在模块化的系统开发中,一个基本前提就是权限控制子系统对各业务逻辑系统透明,简单说就是业务逻辑系统中不应包含权限控制的语句。因此构建一个通用的、便携性强的、便于配置和管理的真正贴近开发实际的安全控制架构尤为重要。2.Acegi架构的不足 轻量级J2EE框架Spring的出现,无疑为应用的便携性铺平了道路,通过IoC和AOP等核心技术的使用,使得POJO取代EJB成为程序的主角,开发者可以为POJO业务对象提供声明式的事务管理和其他横切性的企业级服务。而构建在它上的Acegi秉承了这一极为重要的优势,成为了J2EE安全领域事实上的标准。但在实际的应用开发中,Acegi也存在着一些不能满足实际应用的地方: 其一、Acegi给出的基于XML文件授权信息的配置策略,显然不符合实际的应用环境,在大多数应用中权限往往是动态变化的,管理员可能随时需要配置、维护和修改权限信息。而采用XML文件作为受保护资源的授权信息的载体,显然无法满足这一基本需求。 其二、Acegi提供的基于RDBMS的用户权限控制模型虽然适合一些小规模,低复杂度的使能应用,但对错综复杂的安全需求缺乏统一的支持,需要进一步引入更为复杂、适用面更加广泛的权限控制模型。3. 在Acegi中引入RBAC的利弊
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
面向角色的访问控制(RBAC)模型实现了用户与访问权限的逻辑分离,减少了授权管理的复杂性,降低了管理开销和管理复杂度。但在实际的J2EE应用的
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
与开发中,是否采用基本的RBAC权限管理模型仍需要根据实际需求做出取舍,以求达到系统复杂度和效率的平衡。 比如在对Acegi权限管理的改进和扩展中,我们虽然可以考虑直接把标准的基于RBAC的权限管理数据模型引入Acegi中,但对大多数基于Web的应用来说,这却不一定是最好的解决
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
,原因如下:* 权限校验复杂。在大多数Web应用中,系统主要关注的是对Web资源和业务方法的保护,当客户发出对Web资源的访问请求时,这样的请求在很多时候非常频繁,采用RBAC权限管理模型系统在进行权限校验时需要不断的遍历和递归,对系统性能的负面影响显而易见。* 对领域对象的权限控制实现起来也比较低效。比如在笔者参与开发过的一个基于Web的内容管理系统(Content Management System,CMS)中,员工可以创建信息栏目,这时他就是该栏目的所有者,拥有对该栏目的一切权力,而RBAC模型无法直接对用户进行授权,必
北京时间 www.010time.com iyd