📜  Spring 审计创建者信息保留 (1)

📅  最后修改于: 2023-12-03 14:47:34.309000             🧑  作者: Mango

Spring 审计创建者信息保留

介绍

Spring 审计是 Spring 框架提供的一种机制,用于捕获和跟踪数据库中的更改,同时记录关于这些更改的元数据,例如操作时间、操作人和更改类型。这对于许多企业应用程序中的审计和安全要求非常有用。

当使用 Spring 审计时,有一个选项可以保留有关执行更改的用户的信息,即“创建者信息”。默认情况下, Spring 审计没有配置为保留这些信息,但是可以通过简单的配置来启用它。

启用创建者信息

要启用创建者信息保留,需要做以下操作:

  • 在 Spring 配置文件中添加 Spring 审计的配置。
spring.jpa.properties.org.hibernate.envers.audit_strategy=org.hibernate.envers.strategy.ValidityAuditStrategy
spring.jpa.properties.org.hibernate.envers.revision_field_name=rev
spring.jpa.properties.org.hibernate.envers.revision_type_field_name=revtype
spring.jpa.properties.org.hibernate.envers.audit_strategy_validity_store_revend_timestamp=true
spring.jpa.properties.org.hibernate.envers.audit_strategy_validity_end_rev_field_name=revend
spring.jpa.properties.org.hibernate.envers.audit_strategy_validity_revend_timestamp_field_name=revend_timestamp
  • 在需要启用审计的实体类上添加 @CreatedBy 注解,并在相关字段上添加相应的注解。例如:
@Entity
@Audited
public class User {
    
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    
    private String name;
    
    @CreatedBy
    private String creator;
    
    // Getter and Setter methods
}

在上述示例中,使用 @CreatedBy 注解标记了 creator 字段,以便 Spring 审计知道要在数据库中保留创建者信息。

结论

以上就是如何保留 Spring 审计中创建者信息的介绍。通过简单的配置和注解,可以启用这种功能,并将有关更改的元数据与执行更改的用户相关联,从而实现更好的审计和安全性。