package local.epul4a.fotosharing.security; import local.epul4a.fotosharing.model.Utilisateur; import local.epul4a.fotosharing.repository.UtilisateurRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.stereotype.Service; @Service public class CustomUserDetailsService implements UserDetailsService { @Autowired private UtilisateurRepository utilisateurRepository; @Override public UserDetails loadUserByUsername(String email) throws UsernameNotFoundException { Utilisateur utilisateur = utilisateurRepository.findByEmail(email) .orElseThrow(() -> new UsernameNotFoundException("Utilisateur non trouvé : " + email)); return User.builder() .username(utilisateur.getEmail()) .password(utilisateur.getMotDePasse()) // Le hash BCrypt depuis la BD .disabled(!utilisateur.isActif()) .authorities("USER") .build(); } }