Skip to content

[ 도메인 개발 ] > 사용자 도메인 개발 #10

@IMWoo94

Description

@IMWoo94

#9

배달 플랫폼 도메인 구현

사용자 도메인 개발

  • User Entity 구성
    -Untitled
  • status 컬럼의 경우 enum 객체를 통해서 지정된 데이터만 들어 올 수 있도록 선언
    • enum 객체를 컬럼으로 사용 시 @ Enumerated(EnumType.STRING) 를 꼭 선언 할 수 있도록 한다.
    • @ Enumerated 만 선언하게 되면 enum 의 ordinal 이 DB 데이터로 들어가게 되는데, ordinal 의 경우 enum 객체의 순서를 바꿔버리면 데이터가 뒤죽박죽이 되어버리는 대참사가 일어 날 수 있으니 조심

  • 사용자 서비스 로직 구현
    image
    • 동작 흐름
      • Controller
        • UserApiController → 요청 시 Interceptor 에 의해서 인증 처리 후 접근 가능한 Controller
        • UserOpenApiController → 인증을 거치지 않아도 접근 가능한 Controller
      • Business → User 서비스와 이외의 여러 서비스에 접근하여 구성
      • Service → User 도메인의 서비스만 처리
      • Converter → Data 변환 ex) DTO → Entity
    • 회원 가입 로직 ( 구현 완료 )
      • 중복 회원 로직 ( 구현 완료 )
    • 로그인 ( 구현 완료 )
      • Email 찾기 ( 구현 완료 )
      • Password 찾기 ( 구현 완료 )

  • 사용자 인증 JWT 토큰 적용
    • JWT 토큰 생성 및 검증 로직 ( 구현 완료 )
    • 로그인 성공 시 Token 정보 응답 결과로 리턴 ( 구현 완료 )
    • 로그인 인증 처리
      • Interceptor 를 통해 Http Header 의 Token 정보로 검증
      • 검증 유효한 경우 RequestContextHolder 를 이용해서 인증 정보를 토대로 사용자 정보 제공
      • 사용자 정보를 가져오는 과정을 AOP, ArgumentResolver 를 통해서 Controller 파라미터로 바인딩 처리 하여 받을 수 있도록 구현

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions