PasswordEncoder 설정하기
Spring Security가 지원해주는 PasswordEncoder를 사용해보자.
build.gradle
//Spring Security
implementation 'org.springframework.security:spring-security-crypto:5.7.1'
PasswordEncoder를 @Bean으로 등록
내가 진행한 프로젝트의 경우 Spring Security 적용을 위한 SecurityConfig 클래스에 등록하였다.
@Configuration
public class SecurityConfig {
@Bean
public PasswordEncoder passwordEncoder() {
return PasswordEncoderFactories.createDelegatingPasswordEncoder();
}
}
회원가입 시 회원의 비밀번호를 암호화 하여 저장하기
회원가입시 request 객체에서 넘어온 비밀번호를 passwordEncoder로 암호화 하여 저장한다.
@Service
@Transactional(readOnly = true)
@RequiredArgsConstructor
public class MemberService {
private final PasswordEncoder passwordEncoder;
@Transactional
public Long join(CreateMemberReq createMemberReq) {
checkDuplicateEmail(createMemberReq.getEmail());
checkDuplicateUsername(createMemberReq.getUsername());
return memberRepository.save(Member.builder()
.email(createMemberReq.getEmail())
.role(Role.USER)
.username(createMemberReq.getUsername())
.password(passwordEncoder.encode(createMemberReq.getPassword())) //암호화!
.build()).getId();
}
}
'💻dev > 🌱Java+Spring' 카테고리의 다른 글
Spring Security | 비밀번호 변경 기능 구현 하기 (0) | 2023.08.11 |
---|---|
Spring Security | 회원정보 수정 기능 구현 (0) | 2023.08.11 |
Spring | @ConfigurationProperties와 @ConfigurationPropertiesScan (0) | 2023.08.11 |
Spring | RESTful API - DTO를 Page로 반환하기 (0) | 2023.08.11 |
Spring Security | Spring Security의 구조를 이해해보자! (0) | 2023.08.10 |