Web应用程序审计跟踪

时间:2013-04-17 14:05:18

标签: java oracle

我正在为执行插入/更新/删除记录的用户ID登录的Web应用程序执行审计跟踪。

插入/更新触发器没有问题。但是,对于删除触发器,数据库不会知道执行删除的“用户ID”。

我正在使用oracle数据库和带有连接池的jdbc。

如何将“用户ID”传递给删除触发器?

2 个答案:

答案 0 :(得分:2)

看看Audit4j。它支持对应用程序审计的开箱即用支持。

答案 1 :(得分:1)

您使用的是JPA吗?如果是这样,您使用的是EclipseLink吗?如果是这样,可以不用触发器完成吗?

如果您对所有三个答案的回答都是肯定的,那么我能为您找到答案。看看EclipseLink's History table feature 。我过去曾成功地使用它来实现审计跟踪。

否则,请通过拥有“状态”列来考虑“软删除”。您可以简单地将行状态设置为禁用,而不是从数据库中物理删除行。在您的选择查询中,只需添加“和状态!=禁用。”