JwtUserDetailsService.java 1013 B

123456789101112131415161718192021222324252627
  1. package com.izouma.nineth.security;
  2. import com.izouma.nineth.domain.User;
  3. import com.izouma.nineth.repo.UserRepo;
  4. import lombok.AllArgsConstructor;
  5. import org.springframework.security.core.userdetails.UserDetails;
  6. import org.springframework.security.core.userdetails.UserDetailsService;
  7. import org.springframework.security.core.userdetails.UsernameNotFoundException;
  8. import org.springframework.stereotype.Service;
  9. @AllArgsConstructor
  10. @Service("jwtUserDetailsService")
  11. public class JwtUserDetailsService implements UserDetailsService {
  12. private UserRepo userRepo;
  13. @Override
  14. public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
  15. Long userId = Long.parseLong(username);
  16. User user = userRepo.findById(userId).orElseThrow(null);
  17. if (user == null) {
  18. throw new UsernameNotFoundException(String.format("No user found with username '%s'.", username));
  19. } else {
  20. return JwtUserFactory.create(user);
  21. }
  22. }
  23. }