1. 요구사항 확인

  • 회원가입 시 입력받은 값들을 DB에 저장. 
  • 사용자/관리자 역할 구분

 

2. 회원정보(user) 테이블 설계

 

3. 구현

 

  3-1) 클레스

  • User 클레스 생성 
  • role 속성은 Enum으로 설정 (enum에 설정된 값으로만 입력 가능) -> UserRole 클레스 생성 

  3-2) API 코드 구현

  • SignupRequestDto
  • UserController
  • UserService
  • UserRepository  

 

 

4. 비밀번호 암호화

 

WebSecurityConfig 클래스

// BCryptPasswordEncoder : spring security에서 제공 및 권고 // BCrypt' 해시함수를 사용해 패스워드를 암호화
    @Bean
    public BCryptPasswordEncoder encodePassword() {
        return new BCryptPasswordEncoder();
    }

 

 

UserService 클래스

 

private final PasswordEncoder passwordEncoder;

@Autowired
    public UserService(UserRepository userRepository, PasswordEncoder passwordEncoder) { // DI/IoC
        this.userRepository = userRepository;
        this.passwordEncoder = passwordEncoder;
    }


// 패스워드 인코딩
String password = passwordEncoder.encode(requestDto.getPassword());

 

 

+ Recent posts