UserDetailsServiceImpl.java
1.1 KB
package com.aigeo.common.security;
import com.aigeo.company.repository.UserRepository;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
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;
/**
* Spring Security UserDetailsService 实现
*
* @author AIGEO Team
* @since 1.0.0
*/
@Slf4j
@Service
@RequiredArgsConstructor
public class UserDetailsServiceImpl implements UserDetailsService {
private final UserRepository userRepository;
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
log.debug("正在加载用户: {}", username);
return userRepository.findByUsername(username)
.orElseThrow(() -> {
log.warn("用户不存在: {}", username);
return new UsernameNotFoundException("用户不存在: " + username);
});
}
}