基于Spring的日志安全管理子系统研究_郭绍永_第1页
基于Spring的日志安全管理子系统研究_郭绍永_第2页
基于Spring的日志安全管理子系统研究_郭绍永_第3页
基于Spring的日志安全管理子系统研究_郭绍永_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2 0 1 1 .0 350学 术 . 技 术基于 spring 的日志安全管理子系统研究郭绍永1,秦 娥2(1. 新乡医学院 现代教育技术中心,河南 新乡 453003; 2. 新乡学院 计算机与信息工程学院,河南新乡 453003)摘 要 : 日志管理子系统应用较为普遍,对系统的安全起着重要作用,但每次新系统都需要重新开发,费时费力,而且如果前期开发没有加入日志子系统,后期加入较为繁琐。应用spring 框架和 jsp 技术开发的通用日志子系统使用方便,耦合度较低,只需稍作修改就可应用到其他的应用系统中。关键词 :日志管理子系统;spring ;jsp ;耦合the research of

2、 log subsystem based on springguo shao-yong1, qin e2(1. xinxiang medical university, xinxiang,henan 453003, china; 2. xinxiang university, xinxiang,henan 453003, china)abstract: log management subsystem is used more general, and which plays an important role in security of the system,but which is re

3、peated developing in developing new systems each time to waste time and labor. if the log subsystem early is not developed, adding is more cumbersome later. u sing s pring fr am ew ork and jsp technologies to devel op com m on l ogging subsystemi s better, coupl ing i s l ow er, and onl y m inor m o

4、difi cations it can be applied to other management systems.key words: log management subsystem; spring; jsp; coupling1 引言日志管理子系统对应用系统的安全起着较重要的作用,由于目前的系统都越来越复杂,越来越庞大,所以需要一个独立的,能和主系统耦合度更加松散的日志子系统,使其能对各种不同的应用系统进行日志的详细记录和管理。以前的日志系统往往在需要写日志的时候就加入较多写日志语句,因为日志需要记录很多,所以这样工作很繁琐。而spring 是经典的 mvc 框架1,利用它具有的面向切

5、面a op 技术,可以实现前期没有日志的情况下后期较快地加入,有利于提高效率,降低成本。本系统用于指导开发一个基于sp r i n g框架的通用日志系统,便于在以后的项目中直接或稍做修改即可使用,以减少新项目开发的工作量。2 功能需求2.1 功能模块日志管理子系统是系统安全的重要保障,记录了系统的运行情况和人员登录操作情况。主要包含写日志、查询日志、批量删除日志、批量导出日志等几个模块,如图1 所示。图 12.2 软件接口(1) 写日志接口public boolean writelog (string cmdid, string userid, string ip, boolean succe

6、ss, string memo);/ cmdid 被写信息所属模块的id; userid 用户账号; ip; success 操作是否成功 ;memo 备注 :只写对应被操作节点的名字。(2)批量删除日志信息接口public boolean delbatchlog(loginfoform form,fieldselector selector, orderby order)。(3) 查询日志信息接口 2 0 1 1 .0 351学 术 . 技 术p u b l i cq u e r y l o g i n f o r e s u l t querycurlog(loginfoform form

7、,fieldselector selector, orderby order, int startindex, int max_result_count);/ form页面中的条件选择 ;selector生成的 hql语句 ;order排序顺序 ;startindex开始数量;max_result_count最大查询结果数量。(4) 批量导出日志信息接口public boolean savebatchlog(loginfoform form, fieldselector selector, orderby order)/ form 页面中的条件选择;selector 生成的 hql 语句 ;

8、order 排序顺序。3 模块设计3.1 日志实现模块(1) 日志工厂类logfactory该接口主要提供对日志进行操作的实体类。(2) 日志管理接口loginterface该接口主要提供对日志信息进行查找和删除等的方法。(3) 日志管理实现类logimpl该实现类实现了对日志信息的查找和删除等的实现。3.2 日志呈现模块该模块主要包含j sp 页面,con t r ol 控制器和form 表单。(1) 网页列表opratelog.jsp: 操作日志界面,包括操作查询条件以及操作查询结果显示。systemlog.jsp: 系统日志界面,包括系统查询条件以及系统查询结果显示。(2)querylo

9、ginfo.jk根据用户设定的条件查询日志信息。(3)logqueryprepare.jk用于返回界面左边的操作日志树和系统日志树。(4)delbatchlog.jk批量删除日志。(5)loglogin.jk获得日志管理平台登录界面,此ur l 根据实际项目实际配置。4 数据结构设计表 1 日志信息表表 2 操作命令表表 3 备注信息表5 项目主要代码编写日志管理子系统代码并不复杂,跟编写普通的系统一样,具有写入、查询、删除等功能,难点是对日志系统进行面向切面a o p配置2,下面主要介绍一下核心的配置代码。5.1 日志配置文件根 据 内 部 代 码 规 范 此 文 件 应 该 放 在 cf

10、g/service/下,名字如: xxx-log.xml 配置到所需2 0 1 1 .0 352学 术 . 技 术要的项目中。配置关键代码如下:logquerypreparequeryloginfologlogincontrollerdelbatchlogsavebatchlog 注意配置文件 loglogincontroller此配置文件是根据日志管理模块所在项目而配置的登录界面,在新做的项目中将登录用控制器在日志管理系统中重新配置一次,将控制器的登录页面和登录成功地跳转页面分别换成日志管理的登录和跳转成功页面到:/log/login.jsp和 /log/index.jsp即可使用。logw

11、riteradvice 和 logwriterexceptionadvice是公共的日志处理类和异常处理类的配置i d,所有的模块添加拦截后都将拦截器处理配置为这两个类。5.2 部署依赖说明系统部署环境,部署需要的依赖库等信息3。(1) 日志实现模块依赖spring framework,对数据库访问和操作 org.springframework.orm.hbernate3 来实现 ;(2) 使用 jdk1.5.0_04 ;(3) 数据库连接驱动mysql-connector-java-3.1.8-bin.jar;5.3 面向切面拦截接口方法配置使 用 a o p 以 模 块 为 单 位 进 行

12、 日 志 管 理, 使用 spring的 proxyfactroybean类,以接口管理imgr中添加的拦截为例子:interfaces.imgrlogwriteradvicelogwriterexceptionadvice spring的 proxyfactroybean是一个工厂bean,在这个配置文件里面当我门调用m g r 的时候相当2 0 1 1 .0 353学 术 . 技 术于是调用了mgrtarget的方法。上面 中的 l og w r i t er a d v ice 是对接口中的所有的方法名称进行拦截,并进行处理,logwriterexceptionadvice是对在接口中产

13、生异常后进行处理。在以后的所有模块都需要对自己模块的接口配置上面的消息,但是对应的拦截器的配置全都配置为一样,即: logwriteradvicelogwriterexceptionadvice 这相当于所有的模块的日志处理都将进入上面两个类中,由于这两个类是针对实际项目来描述日志的具体内容,所以它们将放在实际需要记录日志的 server 目录下。下面介绍下这两个类;(1) l o gw r i ter a dv i ce 中写入日志的时候的写 入 方 法 的 m em o 属 性, 从 表 l og_m em o_t b l中 获 得 att r ib u te 属 性, 在 拦 截 器 方

14、 法 中afterreturning(object returnvalue, method method, object args, object target) throws throwable由于是执行完方法后的拦截器,被拦截方法返回对象为returnvalue ,其中一个需要写入memo 的属性的名称就为attribute,由于在拦截器中所拦截的session 放在 sessionmap中,而 key是 l og i n i d,所以在所有将被拦截的方法中第一个参数为 loginid ,既 args0 为 loginid 。(2)logwriterexceptionadvice为拦截失败

15、的操作写入日志,所对应的日志失败的消息写在errorcperties中,在拦截方法执行过程中如果抛出processexception异常后,会在此文件中进行错误消息匹配,将错误i d 对应的错误原因填入 memo 再写入日志。6 结语通过上面介绍的设计开发过程,已经开发出通用的日志管理子系统,并成功地应用到多个管理系统当中,运行状况良好,使系统更加安全。可以根据其他系统的需要将日志实现模块以jar 包的形式或者直接源代码的形式加入项目。由于应用较新的面向切面a op 技术开发,配置简单快速,适应性强,具有较好的通用性,对其他系统具有一定的借鉴意义。参考文献:1 林信良.sprin

16、g技术手册 . 电子工业出版社, 2006.2 唐友国 , 湛洪波.jsp 网站开发详解.电子工业出版社, 2008.3 余浩东.j2ee应用框架设计与项目开发.清华大学出版社 , 2008. 作者简介 :郭绍永 (1980),男,助教,硕士研究生,主要研究方向为网络安全、cscw,人工智能等; 秦 娥 (1979-) ,女,讲师,研究方向:软件工程。收稿日期 :2010-12-08黑客攻防从新手到高手作者 :龙马工作室 编著isbn (书号) :9787115244147出版日期 :2011-2-1出版社 :人民邮电出版社内容简介 :本书以零基础讲解为宗旨,深入浅出地讲解黑客攻防的各种方法本书共分 7 篇 : 第 1 篇【新手入门篇】主要讲解黑客的定义、黑客必备知识和黑客常用的攻击方法等;第 2 篇【木马与病毒攻防篇】主要讲解木马攻防与病毒攻防等;第 3 篇【系统攻防篇】主要讲解操作系统中的各种攻防技法,包括

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论