728x90
반응형
사실 이 프로젝트의 핵심은 서버 로직 구현이기 때문에, DB 구조는 가장 단순하게 만드는 것을 목표로 잡았다.
추후 기능이 추가되고, 필요해진다면 제대로 따로 DB서버까지 구현해볼 예정.
따라서 지금은 Spring DATA JPA, H2 in-memory DB를 사용할 것이다.
DB 구조는 다음과 같다.
◎ <UserInfo> table : user의 정보를 담고있는 테이블
Column Name | Type | Description |
UniqueId(PK) | Long Int | auto increment. 유저 아이디를 직접 PK로 사용하는 것은 보안상, 조회 상 문제가 될 수 있기 때문에 따로 유저를 구분할 수 있는 PK로서 숫자를 저장해 사용함 |
CreatedDate | Date | 생성된 시간을 JPA Audit 기능을 사용해 자동으로 저장 |
LastModifiedDate | Date | 마지막으로 데이터가 수정된 시간을 JPA Audit 기능을 사용해 자동으로 저장 |
UserId | Varchar(20) | 이 서버에서 사용될 사용자의 ID 만약 타 사이트 계정 인증으로 로그인 할 경우, 이 ID는 고유 번호로 자동 부여됨 |
UserPwd | Varchar(30) | 이 서버에서 사용될 사용자의 password 만약 타 사이트 계정 인증으로 로그인 할 경우, null이 입력될 것임 |
AuthId(FK) | Long Int | AccountAuth 테이블의 PK 외부 사이트 계정 인증 정보를 저장 |
◎ <AccountAuth> table : 계정 인증을 타 사이트 연동을 통해 할 경우, 인증 관련 정보를 저장하기 위한 테이블
Column Name | Type | Description |
AuthId(PK) | Long Int | auto increment. 외부 사이트 계정 인증 정보의 고유 ID |
AuthType | Varchar(10) | 외부 사이트 이름(현재는 Naver, Kakao, Google 세 가지 고려) |
우선은 이정도로 기획했는데,
지금 떠오르는 고민점은 여러가지다.
가장 크게 고민되는건 여러 외부 사이트에서 인증해서 계정을 만들면, 그게 한 사람이라는 것을 어떻게 알 것인가?
우선 오늘의 기획은 여기서 끝.
피드백을 받고 고쳐봐야겠다.
728x90
반응형
'개발 > Spring Boot' 카테고리의 다른 글
[로그인 기능 만들기] 5. website login-form 만들기(1) (0) | 2024.05.23 |
---|---|
[로그인 기능 만들기] 4. JPA를 사용한 DB 구현(1) (1) | 2024.05.09 |
[로그인 기능 만들기] 3. 비즈니스 로직 (0) | 2024.05.03 |
[로그인 기능 만들기] 2. DB 기획(2) (0) | 2024.05.03 |
[로그인 기능 만들기] 0. 기본 설정 (1) | 2024.05.02 |