论文部分内容阅读
计算机技术快速的发展使各种应用系统在科学、社会、军事等领域得到了广泛的运用。应用安全共性问题,如身份验证、访问控制和安全审计等,是每个应用系统必不可少的核心模块。纵向业务开发平台是中国工程物理研究院构建其他应用系统的基础,它包括了绝大多数安全共性且为开发其他应用系统所复用。然而,随着研究院对安全共性需求的提高和计算机开发技术的发展,旧版本的纵向业务开发平台中相同安全功能模块的代码很少被复用或与业务模块呈现一种高度耦合的状态,导致每开发一个不同业务需求的应用系统,都需大量的改动现有代码,有的甚至需要重新设计。对现有纵向业务开发平台进行升级和改进,设计并实现一个与具体业务模块分离,提供一个包含大多数安全共性功能模块,使开发新的应用系统可以直接复用包含大量安全共性的纵向业务开发平台已经成为一个亟待解决的问题。 针对上述问题,结合中国工程物理研究院和其下属计算机应用研究所的实际开发需求,分析了现有系统中安全控制实现方法的优缺点,抽取纵向业务开发平台中部分的安全共性,设计了为构建其他具有相同安全共性的中小型应用系统,具有良好的扩展性,并且达到和业务模块相对解耦的访问控制和安全审计系统。 系统采用浏览器/服务器的设计架构,整合J2EE框架搭建开发平台,运用前端web框架MiniUI、开源Spring和Hibernate框架来实现系统。浏览器端是面向系统用户和管理员,它主要包括三大功能模块:访问控制、安全审计和任务调度管理。访问控制方面,提出一种细粒度角色访问模型(FG-RBAC),分别从用户、角色和权限结合实际需求进行改进,实现了更细致更完善的访问控制功能;安全审计方面,实时将用户对系统的操作进行信息记录,页面实现动态可配置,并能够对记录信息进行信息审计,根据审计的结果进行不同的事件响应;任务调度实现定时对系统兼职用户、临时角色和审计信息定时备份和清理管理。三个主要的功能模块都在最大程度上做到与实际业务模块分离,小范围改动现有代码和通过页面动态配置就能够适用不同业务需求的应用系统开发。服务器包括Web服务器和数据库服务器。Web服务器采用MVC模式,通过控制层的Servlet与客户端进行数据交互,数据库服务器采用安全系数较高的Oracle10g进行管理。 为了验证系统的有效性和正确性,利用系统良好的可扩展性添加三个业务模块,分别从访问控制、安全审计和任务调度进行测试和验证,验证结果表明系统具有良好的可扩展性和通用性,配置灵活性高,运行稳定。