package com.owrawww.service; import com.owrawww.domain.User; import com.owrawww.domain.mapper.UserMapper; import lombok.RequiredArgsConstructor; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Service; import java.util.List; @Service @RequiredArgsConstructor public class UserService implements UserDetailsService { private final UserMapper userMapper; private final PasswordEncoder passwordEncoder; @Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { User user = userMapper.findByUsername(username) .orElseThrow(() -> new UsernameNotFoundException("사용자를 찾을 수 없습니다: " + username)); return org.springframework.security.core.userdetails.User.builder() .username(user.getUsername()) .password(user.getPassword()) .roles(user.getRole().replace("ROLE_", "")) .disabled(!user.isEnabled()) .build(); } public List findAll() { return userMapper.findAll(); } public void register(User user) { user.setPassword(passwordEncoder.encode(user.getPassword())); user.setRole("ROLE_USER"); user.setEnabled(true); userMapper.insert(user); } }