论文部分内容阅读
随着计算机网络与分布式计算技术的日趋成熟,基于MVC模式的J2EE多层Web框架逐渐成为一种开发分布式企业级应用的主流架构。保证Web应用安全,防止入侵者的主动与被动攻击一直是学术界致力于研究与解决的热点。在这一背景下,Sun在J2SE1.4后推出了JAAS(Java认证与授权服务),规定了新的安全标准并提供了一个可插拔的和富有弹性的框架。采用JAAS能够有效验证用户的身份并保护访问资源,使J2EE多层应用的安全性得到显著提高。采用JAAS框架的目的在于有效加强J2EE多层应用的访问控制。基于MVC模式的访问控制在一定程度参考了RBAC模型思想。各类资源应以客体的形式分配给角色,用户通过其对应的角色和访问控制策略来确定拥有哪些权限以访问特定的资源。虽然上述做法简化了权限管理,但若使用传统面向对象思想实现则存在一定缺陷,表现为每个核心关注点均需实现广泛分布的JAAS授权等横切关注点,从而造成代码纠缠和代码分散等问题。本文力图通过面向方面编程思想(AOP)解决上述问题,改进基于MVC模式的J2EE应用访问控制,提出了基于MVC模式的AOP安全框架MBASF。本文根据课题的设计思想展开MBASF各模块的设计与实现工作。主要包括:口令加盐MD5摘要认证与口令/X.509证书堆叠式认证;基于关系数据库和XML策略文件的授权;会话信息管理;AjaX实现审计日志浏览查询;监测系统性能;Hibernate对象/关系映射的持久化管理等。通过AOP技术建模各类横切关注点,使得系统在重用性、灵活性与可扩展性方面得到进一步改进和提高,更加符合软件工程目标。本文在设计与实现MBASF的基础上,构建出一种应用MBASF的J2EE架构,以此作为课题项目开发的技术标准。系统运行与监测结果表明,MBASF不仅体现了安全性、功能性、结构性与效率性的设计目标,而且能够有效提高分布式企业级应用的安全标准,达到了预期的研究目的与期望。