45 lines
1.5 KiB
Java
45 lines
1.5 KiB
Java
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<User> 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);
|
|
}
|
|
}
|