package fr.eni.enchere.security; import fr.eni.enchere.bo.UserProfil; import fr.eni.enchere.dal.UserRepository; import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.stereotype.Component; @Component public class LoginService implements UserDetailsService { private UserRepository userRep; public LoginService(UserRepository userRep) { this.userRep = userRep; } @Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { UserProfil utilisateur = this.userRep.findByUsername(username); UserDetails userDetails = null; if (utilisateur != null) { userDetails = User.builder() .username(utilisateur.getPseudo()) .password(utilisateur.getPassword()) .roles(utilisateur.isAdmin() ? "ADMIN" : "MEMBRE") .build(); } else { throw new UsernameNotFoundException("Les identifiants sont incorrects !"); } return userDetails; } }