@EventListener public void onAuditEvent(AuditApplicationEvent event) { AuditEvent auditEvent = event.getAuditEvent(); if (auditEvent.getType() == AuthenticationAuditListener.AUTHENTICATION_SUCCESS) { return; } log.info("Logging audit application event: timestamp: {}, principal: {}, type: {}, data: {}", auditEvent.getTimestamp(), auditEvent.getPrincipal(), auditEvent.getType(), auditEvent.getData() ); auditLogRepository.save( AuditLog.builder() .type(auditEvent.getType()) .principal(auditEvent.getPrincipal()) .timestamp(auditEvent.getTimestamp().toInstant()) .data(auditEvent.getData()) .build() ); }
@EventListener public void onAuditEvent(AuditApplicationEvent event) { AuditEvent auditEvent = event.getAuditEvent(); if (AUTH_FAILURE_TYPE.equals(auditEvent.getType())) { LOGGER.info("Login failure {}", kv("user", hashingService.pseudonymize(event.getAuditEvent().getPrincipal()))); counterService.increment("karate.login.failure"); } else if (AUTH_SUCCESS_TYPE.equals(auditEvent.getType())) { LOGGER.info("Login success {}", kv("user", hashingService.pseudonymize(event.getAuditEvent().getPrincipal()))); counterService.increment("karate.login.success"); } }
public void publish(String principal, AuditEventType type) { log.info("Publishing AuditEvent, principal {}, type: {}", principal, type); applicationEventPublisher.publishEvent( new AuditApplicationEvent( new AuditEvent(principal, String.valueOf(type)) ) ); }
@Test public void testDetailsAreIncludedInAuditEvent() throws Exception { Object details = new Object(); UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken( "user", "password"); authentication.setDetails(details); this.listener.onApplicationEvent(new AuthenticationFailureExpiredEvent( authentication, new BadCredentialsException("Bad user"))); ArgumentCaptor<AuditApplicationEvent> auditApplicationEvent = ArgumentCaptor .forClass(AuditApplicationEvent.class); verify(this.publisher).publishEvent(auditApplicationEvent.capture()); assertThat(auditApplicationEvent.getValue().getAuditEvent().getData()) .containsEntry("details", details); }
@Override public void onApplicationEvent(final AuditApplicationEvent event) { final AuditEvent auditable = event.getAuditEvent(); if (auditable.getType().endsWith("_SUCCESS")) logger.info("{}", auditable); else logger.error("{}", auditable); }
protected void publish(AuditEvent event) { if (getPublisher() != null) { getPublisher().publishEvent(new AuditApplicationEvent(event)); } }
public void publish(AuditEvent event) { log.warn(event.getPrincipal()); if (this.publisher != null) { this.publisher.publishEvent(new AuditApplicationEvent(event)); } }
private void publish(AuditEvent event) { if (this.publisher != null) { this.publisher.publishEvent(new AuditApplicationEvent(event)); } }