最近要求实现Audit Trail Framework
,简单的说就是记录业务数据的修改,以便以后查询谁,在什么时候,做了什么的修改。比如,Supplier
有个属性叫做Name,
如果一个用户 A
于今天2
点将一个Supplier
sp1
的Name
从a
改成b,
那么就要记下来该用户A
在今天2
点将Supplier sp1
的Name
属性从
a
改成了b
。
业务中将这些修改称作Amend Log
,针对某个业务对象,可查看其Amend Logs
,如对某个Supplier
,其展示给用户的显示模式如下:
Action
|
Data Key
|
From
|
To
|
Remark
|
Modify
|
Name
|
name1
|
name2
|
|
Add Supplier Type
|
Supplier Type
|
|
Depot
|
|
Remove Supplier Type
|
Supplir Type
|
Facility
|
|
|
Add Contact
|
Main - person name1
|
|
Purpose:Main
Contact Name:person1
Address1: nanjin XXX
...
|
|
Modify Contact
|
Main - person name2
|
Purpose:Main
Contact Name:person1
Address: nanjin XXX
...
|
Purpose:Main
Contact Name:person2
Address: nanjin XXX
...
|
|
在这里先介绍一下该例子中的业务Supplier
的领域模型,其类图如下:
以上的例子算是比较简单的了,在项目中通常一个业务实体有很复杂的关联,比如
Order->ChargeSummary->ChargeDetail
下的
Amount
属性改变了,从
Order
的
Amend Log
列表中可以查询出
Amount
的属性的变化。
需要实现的
Audit
Trail Framework
要求以非侵入式的方式集成到应用系统中去,即业务逻辑不需要与
Audit Trail
耦合,并且以最简单的配置来实现对关系的业务数据的监控
,
简单非常重要,并且易于维护,如果使用者不够简单的配置,不能方便的维护,则对项目的维护成本很大。
将如何设计呢?
- 大小: 49.9 KB
分享到:
相关推荐
mysql 5.7安全审计插件 Linux X86-X64通用...audit-plugin-mysql-5.7-1.1.7 for Linux 等保开启审计插件,貌似官网找不到,发出来共享. 缺点:日志信息比较大,对性能影响大。 优点:对每一时刻每一用户的操作都有记录。
mysql 5.7社区版安全审计插件audit-plugin-mysql-5.7-1.1.7-921-linux-x86_64.zip
mysql 5.7社区版安全审计插件 audit-plugin-mys mysql5.7社区版安全审计 安全审计插件 mysql审计插件 审计插件
audit-libs-devel-2.2-2.el6.i686.rpm是centos工具类。
docker离线安装所需包,需要的拿去吧
mysql 开启审计插件
官方版本,亲测可用
日志安全审计插件,原官网已经无法下载 mysql 5.7社区版安全审计插件audit-plugin-mysql-5.7-1.1.7-921-linux-x86_64.zip mysql 5.7社区版安全审计插件audit-plugin-mysql-5.7-1.1.7-921-linux-x86_64.zip mysql 5.7...
离线安装包
python库,解压后可用。 资源全名:wagtail_audit_trail-1.3.0-py2.py3-none-any.whl
资源来自pypi官网。 资源全名:wagtail_audit_trail-1.3.0-py2.py3-none-any.whl
audit-libs-2.2-2.el6.i686.rpm是centos工具类。
官方版本,亲测可用
官方版本,亲测可用
离线安装包,测试可用
官方版本,亲测可用
官方版本,亲测可用
官方版本,亲测可用
官方版本,亲测可用
audit-libs-python-2.2-2.el6.i686.rpm是centos工具类。