JFinal 拦截Controller 内方法的数据库操作,拦截记录用户操作日志

JFinal 需要实现:拦截Controller 内方法的数据库操作,记录数据库操作前的表信息和操作后的表信息,从而分析用户操作日志,这种怎么实现,JFinal能记录数据库操作日志么

评论区

JFinal

2020-03-23 14:39

用一个拦截器就可以了,参考文档频道的拦截器的使用

小风yy

2020-03-23 14:57

@JFinal 拦截数据库操作要拦截哪个对象,有没有例子方便参照下,增删改的操作日志都能拦截么

zzutligang

2020-03-24 00:30

我猜@小风yy是想做一个通用的能完成拦截数据库更新的功能,以记录用户操作数据的日志。这个我觉得比较好的办法,就是自己写一个baseModel,重新udpate和save方法。然后你的所有更新修改数据库数据都通过model来执行,应该可以满足你的要求!

小风yy

2020-03-24 16:50

@zzutligang 谢谢大佬,这个方法我觉得不错,正在尝试

久伴轻尘

2020-03-24 19:23

@小风yy 我在拦截器里面做过操作日志的记录,在做权限的时候我自己写了个注解;最基本的注解是view(列表查询 分页查询 id查询等等查询),add(新增 批量新增) ,update(修改 批量修改) delete(删除 批量删除) 在拦截器里面判断当前请求如果不是view则进行记录

小风yy

2020-03-24 19:51

@久伴轻尘 谢谢分享 那记录sql操作记录么,有没有记录过操作前的日志,然后分析更新了哪些数据这种场景

久伴轻尘

2020-03-26 12:04

@小风yy 我做的只是在某用户增删改某一个表时,我将他操作的数据保存下来,比如张三把李四(id为a)的名字修改成了王五,我会记录张三修改了(id为a)的数据,并把请求的数据保存下来,不会去储存修改前李四的数据,一般数据都是备份的,所以我只记录了谁修改过,或者谁删除过,如果是误删除,可以从数据库备份里恢复

小风yy

2020-03-26 12:52

@久伴轻尘 是的现在我的方案也是这样,只记录修改了哪些数据

热门反馈

扫码入社