Files
FotoSharing/src/main/java/local/epul4a/fotosharing/security/CustomUserDetailsService.java

30 lines
1.3 KiB
Java

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();
}
}