mirror of
https://git.imnavajas.es/jjimenez/erp-imprimelibros.git
synced 2026-01-13 00:48:49 +00:00
se guardan los presupuestos publicos
This commit is contained in:
@ -1,35 +1,42 @@
|
||||
// JpaAuditConfig.java
|
||||
package com.imprimelibros.erp.config;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.data.domain.AuditorAware;
|
||||
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.security.core.context.SecurityContextHolder;
|
||||
import org.springframework.security.core.userdetails.UserDetails;
|
||||
|
||||
import com.imprimelibros.erp.users.User;
|
||||
|
||||
import java.util.Optional;
|
||||
import com.imprimelibros.erp.users.UserDao;
|
||||
|
||||
@Configuration
|
||||
@EnableJpaAuditing(auditorAwareRef = "auditorAware")
|
||||
public class JpaAuditConfig {
|
||||
|
||||
@Bean
|
||||
public AuditorAware<User> auditorAware() {
|
||||
public AuditorAware<User> auditorAware(UserDao userDao) {
|
||||
return () -> {
|
||||
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
|
||||
if (auth == null || !auth.isAuthenticated()) return Optional.empty();
|
||||
var auth = SecurityContextHolder.getContext().getAuthentication();
|
||||
if (auth == null || !auth.isAuthenticated())
|
||||
return Optional.empty();
|
||||
|
||||
Object principal = auth.getPrincipal();
|
||||
if (principal instanceof User u) return Optional.of(u);
|
||||
|
||||
if (principal instanceof User u)
|
||||
return Optional.of(u);
|
||||
|
||||
if (principal instanceof UserDetails ud) {
|
||||
// Si tu principal es UserDetails y no la entidad User,
|
||||
// aquí podrías cargar User por username si lo necesitas.
|
||||
return Optional.empty();
|
||||
return userDao.findByUserNameIgnoreCase(ud.getUsername());
|
||||
}
|
||||
|
||||
if (principal instanceof String username && !"anonymousUser".equals(username)) {
|
||||
return userDao.findByUserNameIgnoreCase(username);
|
||||
}
|
||||
|
||||
return Optional.empty();
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user