package fr.jaquin.bdlg.planner.security; 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.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.stereotype.Service; import fr.jaquin.bdlg.planner.persistence.CustomUserRepository; import fr.jaquin.bdlg.planner.persistence.CustomUser; @Service public class CustomUserDetailService implements UserDetailsService { @Autowired private CustomUserRepository userRepository; @Override public UserDetails loadUserByUsername(String login) throws UsernameNotFoundException { final CustomUser customUser = userRepository.findByUsername(login); if (customUser == null) { throw new UsernameNotFoundException(login); } UserDetails user = User.withUsername(customUser.getEmail()).password(customUser.getPassword()) .authorities("ROLE_USER").build(); return user; } }