Spaces:
Build error
Build error
da-autocompliance-dev / src /main /java /com /dalab /autocompliance /config /SpringSecurityAuditorAware.java
| 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; | |
| public class SpringSecurityAuditorAware implements AuditorAware<String> { | |
| 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"); | |
| } | |
| } |