first commit
This commit is contained in:
44
src/main/java/com/owrawww/service/UserService.java
Normal file
44
src/main/java/com/owrawww/service/UserService.java
Normal file
@@ -0,0 +1,44 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user