UserService.java 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package com.yihu.jw.service;
  2. import com.yihu.jw.model.SaasDO;
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.security.core.GrantedAuthority;
  5. import org.springframework.security.core.authority.AuthorityUtils;
  6. import org.springframework.security.core.authority.SimpleGrantedAuthority;
  7. import org.springframework.security.core.userdetails.User;
  8. import org.springframework.security.core.userdetails.UserDetails;
  9. import org.springframework.security.core.userdetails.UserDetailsService;
  10. import org.springframework.security.core.userdetails.UsernameNotFoundException;
  11. import org.springframework.security.crypto.password.PasswordEncoder;
  12. import org.springframework.security.oauth2.provider.ClientDetails;
  13. import org.springframework.security.oauth2.provider.ClientDetailsService;
  14. import org.springframework.security.oauth2.provider.ClientRegistrationException;
  15. import org.springframework.stereotype.Service;
  16. import org.springframework.util.StringUtils;
  17. import java.util.ArrayList;
  18. import java.util.Arrays;
  19. import java.util.HashSet;
  20. import java.util.Set;
  21. /**
  22. * Created by chenweida on 2017/11/29.
  23. * 处理用户校验
  24. */
  25. @Service
  26. public class UserService implements UserDetailsService {
  27. @Autowired
  28. private PasswordEncoder passwordEncoder;
  29. /**
  30. * 我们只需要把用户返回给spring-security 密码框架自己帮我们校验
  31. *
  32. * @param userName
  33. * @return
  34. * @throws UsernameNotFoundException
  35. */
  36. @Override
  37. public UserDetails loadUserByUsername(String userName) throws UsernameNotFoundException {
  38. if ("admin".equals(userName)) {
  39. System.out.printf("password:" + passwordEncoder.encode("123456"));
  40. return new User("admin",
  41. passwordEncoder.encode("123456"),
  42. true,
  43. true,
  44. true,
  45. true
  46. , AuthorityUtils.commaSeparatedStringToAuthorityList("admin,ROLE_USER") //权限
  47. );
  48. } else if ((!StringUtils.isEmpty(userName))&&userName.length() == 11) {
  49. System.out.printf("password:" + passwordEncoder.encode("123456"));
  50. return new User("admin",
  51. passwordEncoder.encode("123456"),
  52. true,
  53. true,
  54. true,
  55. true
  56. , AuthorityUtils.commaSeparatedStringToAuthorityList("admin,ROLE_USER") //权限
  57. );
  58. } else {
  59. throw new UsernameNotFoundException("用户不存在");
  60. }
  61. }
  62. }