diff --git a/src/main/java/org/radarbase/management/repository/CustomAuditEventRepository.java b/src/main/java/org/radarbase/management/repository/CustomAuditEventRepository.java index c66e0fa49..62bf0d41c 100644 --- a/src/main/java/org/radarbase/management/repository/CustomAuditEventRepository.java +++ b/src/main/java/org/radarbase/management/repository/CustomAuditEventRepository.java @@ -7,6 +7,8 @@ import org.radarbase.management.security.Constants; import org.radarbase.management.config.audit.AuditEventConverter; import org.radarbase.management.domain.PersistentAuditEvent; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.actuate.audit.AuditEvent; import org.springframework.boot.actuate.audit.AuditEventRepository; @@ -19,6 +21,7 @@ */ @Repository public class CustomAuditEventRepository implements AuditEventRepository { + private static final Logger logger = LoggerFactory.getLogger(CustomAuditEventRepository.class); private static final String AUTHORIZATION_FAILURE = "AUTHORIZATION_FAILURE"; @@ -40,16 +43,19 @@ public List find(String principal, Instant after, String type) { @Override @Transactional(propagation = Propagation.REQUIRES_NEW) public void add(AuditEvent event) { - if (!AUTHORIZATION_FAILURE.equals(event.getType()) + var eventType = event.getType(); + if (!AUTHORIZATION_FAILURE.equals(eventType) && !Constants.ANONYMOUS_USER.equals(event.getPrincipal())) { - PersistentAuditEvent persistentAuditEvent = new PersistentAuditEvent(); persistentAuditEvent.setPrincipal(event.getPrincipal()); - persistentAuditEvent.setAuditEventType(event.getType()); + persistentAuditEvent.setAuditEventType(eventType); persistentAuditEvent.setAuditEventDate(LocalDateTime.ofInstant(event.getTimestamp(), ZoneId.systemDefault())); persistentAuditEvent.setData(auditEventConverter.convertDataToStrings(event.getData())); persistenceAuditEventRepository.save(persistentAuditEvent); } + if (eventType != null && eventType.endsWith("_FAILURE")) { + logger.warn("Login failure: {}", event); + } } } diff --git a/src/main/java/org/radarbase/management/service/MetaTokenService.java b/src/main/java/org/radarbase/management/service/MetaTokenService.java index 61d96f361..248c07a9f 100644 --- a/src/main/java/org/radarbase/management/service/MetaTokenService.java +++ b/src/main/java/org/radarbase/management/service/MetaTokenService.java @@ -101,7 +101,7 @@ public TokenDTO fetchToken(String tokenName) throws MalformedURLException { } return result; } else { - throw new RequestGoneException("Token already fetched or expired. ", + throw new RequestGoneException("Token " + tokenName + " already fetched or expired. ", META_TOKEN, "error.TokenCannotBeSent"); } }