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());
'프로그래밍 > SpringBoot' 카테고리의 다른 글
접근 불가 페이지 만들기 (0) | 2022.06.02 |
---|---|
로그인, 로그아웃 기능 구현 (0) | 2022.05.30 |
스프링 시큐리티 (spring-boot-starter-security) (0) | 2022.05.30 |
회원 관리 기능 요구사항 및 설계 (0) | 2022.05.30 |
@어노테이션의 이해 (@SpringBootApplication, @Service, @Controller, @Repository) (0) | 2022.05.29 |