diff --git a/src/main/java/com/youlai/system/security/service/SysUserDetailsService.java b/src/main/java/com/youlai/system/security/service/SysUserDetailsService.java index c70e8b2a..f5bf11ac 100644 --- a/src/main/java/com/youlai/system/security/service/SysUserDetailsService.java +++ b/src/main/java/com/youlai/system/security/service/SysUserDetailsService.java @@ -4,6 +4,7 @@ import com.youlai.system.security.model.SysUserDetails; import com.youlai.system.model.dto.UserAuthInfo; import com.youlai.system.service.SysUserService; 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; @@ -16,17 +17,32 @@ import org.springframework.stereotype.Service; */ @Service @RequiredArgsConstructor +@Slf4j public class SysUserDetailsService implements UserDetailsService { private final SysUserService sysUserService; + /** + * 根据用户名获取用户信息 + * + * @param username 用户名 + * @return 用户信息 + * @throws UsernameNotFoundException 用户名未找到异常 + */ @Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { - - UserAuthInfo userAuthInfo = sysUserService.getUserAuthInfo(username); - if (userAuthInfo == null) { - throw new UsernameNotFoundException(username); + try { + UserAuthInfo userAuthInfo = sysUserService.getUserAuthInfo(username); + if (userAuthInfo == null) { + throw new UsernameNotFoundException(username); + } + return new SysUserDetails(userAuthInfo); + } catch (Exception e) { + e.printStackTrace(); + // 记录异常日志 + log.error("认证异常:{}", e.getMessage()); + // 抛出异常 + throw e; } - return new SysUserDetails(userAuthInfo); } }