Spaces:
Build error
Build error
File size: 1,318 Bytes
688925d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | package com.dalab.autocompliance.config;
import org.springframework.data.domain.AuditorAware;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.core.userdetails.User;
import org.springframework.stereotype.Component;
import java.util.Optional;
@Component("auditorProvider")
public class SpringSecurityAuditorAware implements AuditorAware<String> {
@Override
public Optional<String> getCurrentAuditor() {
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
if (authentication == null || !authentication.isAuthenticated() || authentication.getPrincipal() instanceof String && "anonymousUser".equals(authentication.getPrincipal())) {
return Optional.of("system"); // Default to system if no user or anonymous
}
Object principal = authentication.getPrincipal();
if (principal instanceof User) {
return Optional.of(((User) principal).getUsername());
} else if (principal instanceof String) {
return Optional.of((String) principal);
}
// For other principal types, you might need custom logic or return a default
return Optional.of("system");
}
} |