Spring Boot 中的审计

本文介绍了在Spring Boot中实现审计功能的方法,包括理解审计的含义,以及使用Spring Data JPA提供的审计功能,无需修改实体业务逻辑,通过AuditorAware和Spring Security集成,记录实体的创建和更新信息。不过,删除操作的审计未能覆盖。
摘要由CSDN通过智能技术生成

什么是审计?

审计意味着跟踪和记录与数据相关的事务,这只是意味着记录插入、更新和删除操作(用户和/或操作日期)。

如何在 Spring 中添加 @Entity 的创建/更新日期?

这可以使用不同的方法来实现:

  • 数据库内置解决方案:Oracle Database 12c、Db2、MySQL Enterprise Audit...
  • 创建数据库触发器,
  • 使用第三方工具,
  • 为每个实体创建更新和创建列,并将每次更改手动记录到数据库中(完全由您自己编写),
  • 使用 Spring 审计 :bulb:

最后一个选择不需要接触我们的实体业务逻辑来添加跟踪逻辑,也不需要向实体添加额外的列或额外的表来记录更改。

如果您使用的是 Spring,则可以使用无头解决方案来跟踪您的实体。我们配置一次,随处使用:

<span style="color:#444444"><span style="background-color:#f6f6f6">Spring Data 提供了复杂的支持<span style="color:#333333"><strong>来透明</strong></span><span style="color:#333333"><strong>地</strong></span>跟踪谁创建<span style="color:#333333"><strong>或</strong></span>更改了实体<span style="color:#333333"><strong>以及</strong></span><span style="color:#333333"><strong>发生</strong></span><span style="color:#333333"><strong>的</strong></span>时间点。(春天)
</span></span>

执行

可能的方法:

1.使用标准JPA实现:

使用实体的表本身来记录更改,在这种情况下我们无法审核删除操作。

2.使用Hibernate提供的审计功能实现:

它登录到实体表以外的表,允许记录删除操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值