package space.anyi.serve.service.impl; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.stereotype.Service; import space.anyi.serve.entity.auth.JwtUserDetails; import space.anyi.serve.entity.user.User; import space.anyi.serve.service.UserService; @Service public class UserDetailsServiceImpl implements UserDetailsService { private final UserService userService; public UserDetailsServiceImpl(UserService userService) { this.userService = userService; } @Override public UserDetails loadUserByUsername(String account) throws UsernameNotFoundException { User user = userService.lambdaQuery() .eq(User::getAccount, account) .eq(User::getEnable, 1) .one(); if (user == null) { throw new UsernameNotFoundException("账号或密码错误"); } return new JwtUserDetails(user); } }