JUST GO

[공통] 이메일 인증 본문

Spring Boot/학습내용

[공통] 이메일 인증

root_go 2022. 11. 2. 13:36

1. 받은 이메일을 사용하는 유저 레코드가 있는가? 있으면 끝.(실패로 돌려줘야 함) -> "이미 사용중인 이메일 주소입니다."

2. (Apache Commons Langs 사용하여)인증번호 및 솔트(Salt) 생성 후 테이블에 인서트

3. <2>에서 생성된 인증번호 전송 -> "인증 번호를 전송하였습니다. 5분 이내에 입력해 주세요."

=> 이메일 인증

=> 열거형(enum) 사용해야함

 

  • MemberService.java
// 트랜잭션 적용하기 위해서
    @Transactional
    // 어노테이션 만들어줌
    public Enum<? extends IResult> sendEmailAuth(UserEntity user) {
        // enum 인데 제네릭을 구분하지는 않겠다. IResult를 상속받거나 구현하고 있어야 한다. // 매개변수로 UserEntity를 받음.
        // 1 0
        // 2 0
        // 3 0
        UserEntity existingUser = this.memberMapper.selectUserByEmail(user.getEmail());
        if (existingUser != null){
            return SendEmailAuthResult.EMAIL_DUPLICATED;
        }

        return CommonResult.SUCCESS;
    }

?. 받은 이메일로 인증 번호 생성하여 전송

 

CommonResult : Enum<CommonResult>

SendEmailAuthResult : Enum<SendEmailAuthResult>

 

ABCD : Enum<>

? : Enum<?> 제네릭을 구분하지는 않겠다.

 

 

 

'Spring Boot > 학습내용' 카테고리의 다른 글

[공통] Springboot 에서 이메일 보내기  (0) 2022.11.07
[공통] 회원가입 페이지  (0) 2022.11.03
[공통] XHR(XMLHttpRequest)  (0) 2022.11.01
[기타] 유용한 사이트  (4) 2022.10.31
[공통] 의존성 추가  (0) 2022.10.31