본문 바로가기
개발/Security

[SpringBoot] Security 로그인 인증, 인가(6) - Service

by 코딩하는 흰둥이 2023. 4. 30.
반응형

이전글 https://greed-yb.tistory.com/227

 

[SpringBoot] Security 로그인 인증, 인가(5) - Vo , Mapper

이전글 https://greed-yb.tistory.com/226 [SpringBoot] Security 로그인 인증, 인가(4) - AuthProvider 이전글 https://greed-yb.tistory.com/225 [SpringBoot] Security 로그인 인증, 인가(3) - handler 이전글 https://greed-yb.tistory.com/224 [S

greed-yb.tistory.com

 

UserService
package com.example.practice.service.user;

import com.example.practice.mapper.user.UserMapper;
import com.example.practice.vo.UserVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;

@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;

    private final PasswordEncoder passwordEncoder = new BCryptPasswordEncoder();

    // 유저 정보
    public UserVo getUserById(String id) {
        return userMapper.getUserById(id);
    }

    // 회원 가입
    public void signup(UserVo userVo) {
        if (!userVo.getId().equals("")) {
            // password는 암호화해서 DB에 저장
            userVo.setPassword(passwordEncoder.encode(userVo.getPassword()));
            userMapper.insertUser(userVo);
        }
    }

    // 회원 정보 수정
    public void edit(UserVo userVo) {
        // password는 암호화해서 DB에 저장
        userVo.setPassword(passwordEncoder.encode(userVo.getPassword()));
        userMapper.updateUser(userVo);
    }

    // AuthProvider 에서 user 정보 확인 용
    public PasswordEncoder passwordEncoder() {
        return this.passwordEncoder;
    }
}

 

댓글