随着Internet技术和企业信息化建设的发展,构建Web应用系统的需求日益复杂,开发周期也越来越短。面对复杂多变的市场环境,如何快速开发扩展性好、重用性高、安全性强的Web应用成为中小企业亟待解决的问题。针对上述特点,论文结合应用系统多层次体系结构发展的现状,对一些符合J2EE规范的第三方框架进行分析整合,构建一个通用型的轻量级Web应用及其安全框架,并以代表中小企业应用的药品销售系统作为参考实现。
Web应用的安全需求灵活多变,在新的应用中,现有系统的安全代码通常无法被重用。为此,选择优秀的框架作为基础组件来负责事务、安全等功能是一种有效的开发方式,对企业应用开发具有现实意义。
本文从安全框架需求出发,对J2EE安全机制进行分析,结合面向方面技术研究了通用的Acegi安全框架。紧接着在系统需求分析基础上,对一些常用经典框架的优势进行探讨,设计了基于Struts,Hibernate,Spring及Acegi的多层次系统架构,并针对基于此架构的药品销售系统做了如下工作:
1.通过Struts,Spring,Hibernate三种框架的整合,充分发挥各自优势,分层实现了系统功能模块。
2.使用Acegi搭建系统的安全框架,利用其AOP(面向方面编程)技术对Web资源及业务方法进行有效的保护,实现非侵入式的基于角色的访问控制。
3.扩展Acegi框架的权限数据模型,通过权限配置信息向数据库的移植,更改缓存机制,实现图形化的角色权限动态管理。
4.进一步完善系统其他方面的安全性能,基于Acegi框架,使用JCaptcha实现验证码功能,利用HTTPS实现数据的安全传输,使用MD5信息摘要算法实现密码的加密存储,采用Spring AOP技术实现系统的日志管理。
通过实践证明,这种系统架构可以提高开发效率,满足系统扩展性和重用性,适合中小企业开发安全的Web应用。