package com.izouma.jiashanxia.security; import com.izouma.jiashanxia.domain.User; import com.izouma.jiashanxia.repo.UserRepo; import lombok.AllArgsConstructor; 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; @AllArgsConstructor @Service("jwtUserDetailsService") public class JwtUserDetailsService implements UserDetailsService { private UserRepo userRepo; @Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { User user = userRepo.findByUsername(username); if (user == null) { throw new UsernameNotFoundException(String.format("No user found with username '%s'.", username)); } else { return JwtUserFactory.create(user); } } }