feat : ajout fonctionnalité login
This commit is contained in:
@@ -2,6 +2,9 @@ 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;
|
||||
@@ -9,16 +12,19 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
public class CustomUserDetailsService implements UserDetailsService {
|
||||
|
||||
private final UtilisateurRepository utilisateurRepository;
|
||||
|
||||
public CustomUserDetailsService(UtilisateurRepository utilisateurRepository) {
|
||||
this.utilisateurRepository = utilisateurRepository;
|
||||
}
|
||||
@Autowired
|
||||
private UtilisateurRepository utilisateurRepository;
|
||||
|
||||
@Override
|
||||
public CustomUserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
|
||||
Utilisateur u = utilisateurRepository.findByEmail(username)
|
||||
.orElseThrow(() -> new UsernameNotFoundException("Utilisateur introuvable: " + username));
|
||||
return new CustomUserDetails(u);
|
||||
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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user