Files
ENI-enchere/src/main/java/fr/eni/enchere/security/LoginService.java
2024-05-02 16:45:06 +02:00

38 lines
1.3 KiB
Java

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.Service;
@Service
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;
}
}