如何保存管理员对所有表 增,删,改的操作记录?

场景:记录后台管理人员对所有表的 增,删,改的记录。

例如:管理员删除了一个新用户记录,这时需要记录: 管理员,被删除用户的详细信息。

实现想法:

1. 这边看到 所有的model删除记录都调用了 Db.updata()的方法,所以想在Db.update()执行前,增加一个操作,但是Db.java、DbPro.java等文件都不允许修改。

2. 使用拦截器,在所有后台接口增加拦截器,但是 Invocation 拿不到被删除的数据。

3. 使用log4j日志管理,发现也拿不到被删除的数据。

请问,如何保存管理员对所有表 增,删,改 的操作记录?

评论区

lyh061619

2019-08-29 18:24

你看下:com.jfinal.plugin.activerecord包下的CPI.java这个类,对外开放有update这个方法,你可以在这个基础之处自行管理。

无翼

2019-08-30 09:24

使用druid自带的sql拦截就好了

66666666

2019-08-30 12:06

删记录之前肯定是拿到了这条记录的唯一标识-id,有一个比较常规的操作:拿这个id先去查一遍信息(查缓存或者库看你自己的情况),把信息记录到log表里。记录以及删除这两个操作最好是在同一个事务里,避免出现某些现象,或者确保程序不出错也是可行滴

热门反馈

扫码入社