Tag: audit

Hibernate使用自定义修订实体

我正在尝试扩展我的修订表。 按照手册我创建了自定义修订实体: package com.terminal.audit; import org.hibernate.envers.DefaultRevisionEntity; import org.hibernate.envers.RevisionEntity; import org.hibernate.envers.RevisionNumber; import org.hibernate.envers.RevisionTimestamp; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Transient; import java.util.Date; @Entity @RevisionEntity(CustomRevisionListener.class) public class CustomRevisionEntity extends DefaultRevisionEntity { @Id @GeneratedValue @RevisionNumber private int id; @RevisionTimestamp private long timestamp; private String username; public int getId() { return id; } public void setId(int id) { […]

在使用审计时,如何自定义Spring-Data注入的AuditingHandler?

我正在使用Spring Data 1.5和Auditing。 AuditingEntityListener有一个setAuditingHandler方法。 如何自定义AuditingHandler并指示Spring-Data注入我的自定义处理程序而不是默认的org.springframework.data.auditing.AuditingHandler ? 我已经尝试实例化我自己的AuditingEntityListener ,我在其中注入了我自己的Handler,但这并没有完成这项工作。 默认处理程序仍在注入。 我已经通过XML配置和JavaConfig尝试了,看看是否有一个比另一个更好,但两种方式都不起作用。 JavaConfig: @Configuration @EnableJpaAuditing(auditorAwareRef=”auditorProvider”) public class AppConfig { @Bean public AuditorAware auditorProvider(){ return new SpringSecurityAuditorAware(); } @Bean public AuditingEntityListener auditingEntityListener(){ AuditingEntityListener listener = new AuditingEntityListener(); listener.setAuditingHandler(new com.ia.persistence.AuditingHandler()); return listener; } } 自定义处理程序: @Component public class AuditingHandler extends org.springframework.data.auditing.AuditingHandler { // SLF4J logger private static final Logger […]

业务审计日志 – 推荐的库或方法?

你知道任何用于审计日志的好Java库吗? 或者至少是好的书/文章,以帮助选择为应用程序构建审计日志的好方法? 图书馆要求: – 定义通用审计元数据(userId,time,IP,…) – 定义审计消息类型(发送的事务,收到的消息,……) – 锁定/签署个人审核消息(用于不可否认性) – 根据元数据搜索审核日志 – 等 编辑: 我不是在寻找自动化解决方案,我很满意这样的话: AuditEvent event = new TransactionSentEvent(userId, account, amount, …) AuditLog.audit(auditEvent); 重点是拥有基础设施 – 数据库安全存储,无信誉等。

如何将应用程序审核记录到Wildfly 8上的单独文件中

我有一个在Wildfly 8上运行的Java EE应用程序,我想在其中启用审计日志记录。 使用InterceptorBinding和Interceptor我能够捕获所有相关的API调用。 我想要做的是将这些审计调用写入单独的审计日志文件。 我尝试使用logback实现这一点,并在此stackoverflow问题的第二个答案的帮助下,我终于设法做到了这一点。 第一个回复,即禁用系统日志记录,不起作用。 但是,虽然此解决方案成功将我的审计跟踪写入单独的文件,但所有其他日志记录都停止写入其默认文件,并且仅输出到控制台。 我想要实现的是将所有常规日志记录默认写入常规文件(即server.log),但是将我自己的自定义审核日志消息放在单独的文件中(也可以每天滚动,重命名)旧文件到它写的日期)。 无论是使用Logback,log4j,Wildfly自己的日志记录系统,还是Wildfly CLI审核日志,都是无关紧要的,只要它达到目的,开销最小。 我正处于这个阶段,考虑使用简单的输出流将其写入我自己的文件中,但是当有解决方案应该更有效地执行此操作时,这感觉相当多余。 这是我的logback文件的样子: /Applications/wildfly/standalone/log/logback/audit/audit.log logFile.%d{yyyy-MM-dd}.log %d{HH:mm:ss.SSS}: – %msg%n /Applications/wildfly/standalone/log/logback/server.log logFile.%d{yyyy-MM-dd}.log %d{HH:mm:ss.SSS} %-4relative [%thread] %-5level %logger{35} – %msg%n

我可以在没有orm.xml文件的情况下使用Spring Data JPA Auditing(使用JavaConfig代替)吗?

我正在尝试让Spring Data Auditing在我的Spring 3.2.8 / Spring Data 1.5 / Hibernate 4项目中运行。 根据Spring Data Auditing文档 ,我将@CreatedBy等注释添加到我的实体,由AuditorAware实现创建,并在我的JavaConfig中实例化。 然而,似乎永远不会开火。 我发现文档有点令人困惑。 似乎JavaConfig条目替换了xml条目,但我不确定。 我的应用程序中当前没有任何orm.xml文件。 说实话,我甚至不确定在哪里/如何配置它,或者为什么我需要它。 我的所有实体都在使用注释。 我已经尝试将@EntityListeners(AuditingEntityListener.class)添加到实体,但这没有帮助。 我的当前实体管理器是在没有persistence.xml文件的情况下定义的: org.hibernate.dialect.MySQL5InnoDBDialect true ‘1’, false ‘0’ true false true update org.hibernate.cfg.ImprovedNamingStrategy UTF-8 JavaConfig: @Configuration @EnableJpaAuditing public class AuditConfig { @Bean public AuditorAware auditorProvider(){ return new SpringSecurityAuditorAware(); } } 实体: @EntityListeners({AuditingEntityListener.class}) @Entity public class […]