30 lines
1.3 KiB
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();
|
|
}
|
|
} |