UserService.java
package com.sintia.ffl.admin.optique.services.services;
import com.sintia.ffl.admin.optique.dal.entities.User;
import com.sintia.ffl.admin.optique.dal.repositories.UserRepository;
import com.sintia.ffl.admin.optique.services.dto.CustomUser;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
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("userDetailsService")
@Slf4j
public class UserService implements UserDetailsService {
@Autowired
private UserRepository userRepository;
@Override
public UserDetails loadUserByUsername(String userName) throws UsernameNotFoundException {
log.debug("Start loadUserByUsername for user '{}'", userName);
User user = userRepository.findByUserName(userName);
if (null == user) {
log.debug("User not found");
throw new UsernameNotFoundException(userName);
} else {
log.debug("User found: {}", user);
return new CustomUser(user);
}
}
}