package com.dbnt.kcgfilemanager.service; import com.dbnt.kcgfilemanager.model.UserInfo; import com.dbnt.kcgfilemanager.repository.UserInfoRepository; 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.Pbkdf2PasswordEncoder; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @Service @RequiredArgsConstructor public class UserInfoService implements UserDetailsService { private final UserInfoRepository userInfoRepository; @Transactional public String signup(UserInfo userInfo){ Pbkdf2PasswordEncoder passwordEncoder = new Pbkdf2PasswordEncoder(); userInfo.setPassword(passwordEncoder.encode(userInfo.getPassword())); return userInfoRepository.save(userInfo).getUserId(); } @Override public UserDetails loadUserByUsername(String userId) throws UsernameNotFoundException { return userInfoRepository.findByUserId(userId).orElseThrow(() -> new UsernameNotFoundException(userId)); } }