Skip to content
This repository has been archived by the owner on Aug 13, 2022. It is now read-only.

기능 정의

Ji WooYoung edited this page May 19, 2021 · 10 revisions

모든 화면은 👉 화면 정의 wiki에서 확인하실 수 있습니다.


1. 회원가입

신규 사용자 가입을 위한 회원가입 기능입니다.
계정 유효성 검사 및 비밀번호 암호화 기능을 중점적으로
다루었습니다.

1-1. 계정 유효성 검사

회원가입 URL로 POST 요청이 전송되면, 전송된 데이터의 유효성 검사를 수행합니다.
Spring에서 제공하는 spring-boot-starter-validation을 사용합니다.
해당 코드는 MemberDTO에서 확인하실 수 있습니다.

1-2. 비밀번호 암호화

전송된 회원 데이터 중, 비밀번호는 Bcrypt 단방향 암호화 되어 데이터베이스에 저장됩니다.
BCrypt 암호화는 JBcrypt를 사용합니다.
해당 코드는 SessionAuthServiceImpl에서 확인하실 수 있습니다.



2. 로그인

로그인 기능입니다.
사용자에게 아이디와 비밀번호를 입력받아
인증 성공시 사용자의 정보를 반환합니다.
사용자 인증 및 세션 관리 기능을 주로 다루며,
사용자 데이터 조작 및 세션 관리 관심사의 분리를
중점적으로 다루었습니다.

2-1. 사용자 인증

사용자가 계정 정보를 입력하면, 기존에 DB에 등록된 사용자인지 확인하여
로그인 확인/실패 처리를 합니다. 이러한 과정에서 사용자의 정보에 접근하는
관심사를 MemberServiceImpl에서 관리하도록 하였습니다.

2-2. 세션 관리

2-1. 사용자 인증에서 로그인이 정상 확인되면, 사용자에게 세션을 전송하고
사용자 세션 정보를 저장합니다. 이러한 과정에서 로그인에 대한 로직을 처리하고,
사용자 세션을 관리하는 관심사를 SessionAuthServiceImpl에서 관리하도록 하였습니다.