32 lines
1.2 KiB
Java
32 lines
1.2 KiB
Java
|
|
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));
|
||
|
|
}
|
||
|
|
}
|