UserService.java 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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.Component;
  16. import org.springframework.stereotype.Service;
  17. import org.springframework.util.StringUtils;
  18. import java.util.ArrayList;
  19. import java.util.Arrays;
  20. import java.util.HashSet;
  21. import java.util.Set;
  22. /**
  23. * Created by chenweida on 2017/11/29.
  24. * 处理用户校验
  25. */
  26. @Component
  27. public class UserService implements UserDetailsService {
  28. @Autowired
  29. private PasswordEncoder passwordEncoder;
  30. /**
  31. * 我们只需要把用户返回给spring-security 密码框架自己帮我们校验
  32. *
  33. * @param userName
  34. * @return
  35. * @throws UsernameNotFoundException
  36. */
  37. @Override
  38. public UserDetails loadUserByUsername(String userName) throws UsernameNotFoundException {
  39. if ("admin".equals(userName)) {
  40. System.out.printf("password:" + passwordEncoder.encode("123456"));
  41. return new User("admin",
  42. passwordEncoder.encode("123456"),
  43. true,
  44. true,
  45. true,
  46. true
  47. , AuthorityUtils.commaSeparatedStringToAuthorityList("admin,ROLE_USER") //权限
  48. );
  49. } else if ((!StringUtils.isEmpty(userName))&&userName.length() == 11) {
  50. System.out.printf("password:" + passwordEncoder.encode("123456"));
  51. return new User("admin",
  52. passwordEncoder.encode("123456"),
  53. true,
  54. true,
  55. true,
  56. true
  57. , AuthorityUtils.commaSeparatedStringToAuthorityList("admin,ROLE_USER") //权限
  58. );
  59. } else {
  60. throw new UsernameNotFoundException("用户不存在");
  61. }
  62. }
  63. }