📅  最后修改于: 2023-12-03 14:47:34.309000             🧑  作者: Mango
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 审计中创建者信息的介绍。通过简单的配置和注解,可以启用这种功能,并将有关更改的元数据与执行更改的用户相关联,从而实现更好的审计和安全性。