Guest User

Untitled

a guest
Sep 18th, 2018
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.98 KB | None | 0 0
  1. package com.mehmaa.blog.service;
  2.  
  3. import java.util.Collection;
  4. import java.util.List;
  5. ...
  6. import com.mehmaa.blog.repository.UserRepository;
  7.  
  8. /**
  9. * An implementation of Spring Security's UserDetailsService.
  10. */
  11. @Service("MyUserDetailsService")
  12. public class MyUserDetailsService implements UserDetailsService {
  13.  
  14. private static final Logger logger = LoggerFactory.getLogger(MyUserDetailsService.class);
  15.  
  16. private UserRepository userRepository;
  17.  
  18. @Autowired
  19. public MyUserDetailsService(UserRepository userRepository) {
  20. this.userRepository = userRepository;
  21. }
  22.  
  23. @Override
  24. @Transactional
  25. public UserDetails loadUserByUsername(String email) throws UsernameNotFoundException, DataAccessException {
  26. if ((email == null) || email.trim().isEmpty()) {
  27. throw new UsernameNotFoundException("Email is null or empty");
  28. }
  29.  
  30. logger.debug("Checking users with email: " + email);
  31.  
  32. com.mehmaa.blog.domain.User user = userRepository.findByEmail(email);
  33.  
  34. if (user == null) {
  35. String errorMsg = "User with email: " + email + " could not be found";
  36. logger.debug(errorMsg);
  37. throw new UsernameNotFoundException(errorMsg);
  38. }
  39.  
  40. Collection<GrantedAuthority> grantedAuthorities = toGrantedAuthorities(user.getRoleNames());
  41. String password = user.getPassword();
  42. boolean enabled = user.getIsEnabled();
  43. boolean userNonExpired = true;
  44. boolean credentialsNonExpired = true;
  45. boolean userNonLocked = true;
  46.  
  47. return new org.springframework.security.core.userdetails.User(email, password, enabled, userNonExpired, credentialsNonExpired, userNonLocked,
  48. grantedAuthorities);
  49. }
  50.  
  51. public static Collection<GrantedAuthority> toGrantedAuthorities(List<String> roles) {
  52. List<GrantedAuthority> result = newArrayList();
  53.  
  54. for (String role : roles) {
  55. result.add(new SimpleGrantedAuthority(role));
  56. }
  57.  
  58. return result;
  59. }
  60. }
Add Comment
Please, Sign In to add comment