UserService.java 2.0 KB

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