UserDetailsServiceImpl.java 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. package space.anyi.serve.service.impl;
  2. import org.springframework.security.core.userdetails.UserDetails;
  3. import org.springframework.security.core.userdetails.UserDetailsService;
  4. import org.springframework.security.core.userdetails.UsernameNotFoundException;
  5. import org.springframework.stereotype.Service;
  6. import space.anyi.serve.entity.auth.JwtUserDetails;
  7. import space.anyi.serve.entity.user.User;
  8. import space.anyi.serve.service.UserService;
  9. @Service
  10. public class UserDetailsServiceImpl implements UserDetailsService {
  11. private final UserService userService;
  12. public UserDetailsServiceImpl(UserService userService) {
  13. this.userService = userService;
  14. }
  15. @Override
  16. public UserDetails loadUserByUsername(String account) throws UsernameNotFoundException {
  17. User user = userService.lambdaQuery()
  18. .eq(User::getAccount, account)
  19. .eq(User::getEnable, 1)
  20. .one();
  21. if (user == null) {
  22. throw new UsernameNotFoundException("账号或密码错误");
  23. }
  24. return new JwtUserDetails(user);
  25. }
  26. }