package com.supervision.service.impl; import com.supervision.domain.SysUser; import com.supervision.service.SysUserService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.userdetails.User; 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 java.util.Collections; import java.util.List; @Slf4j @Service @RequiredArgsConstructor public class UserDetailsServiceImpl implements UserDetailsService { private final SysUserService sysUserService; @Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { // 将查询到的用户信息组装成UserDetails对象 // **扩展点**:如需加载用户角色权限,可在此处查询 sys_user_role 表关联的角色,并将角色加入 authorities 列表 List authorities = Collections.emptyList(); // 使用Spring Security提供的User对象作为UserDetails返回 SysUser sysUser = sysUserService.getByUsername(username); if (sysUser == null) { throw new UsernameNotFoundException("用户不存在: " + username); } return new User(sysUser.getUserName(), sysUser.getPassword(), authorities); } }