docs: add project docs and test updates

This commit is contained in:
taekyoungc
2026-04-08 00:23:55 +09:00
parent 06fedc866a
commit 06aa401048
238 changed files with 8373 additions and 148 deletions

View File

@@ -0,0 +1,118 @@
## 회원가입 역할 승인 요구사항
### 1) 배경
- 현재 `register`에서 사용자가 선택한 `mb_level`이 즉시 저장되어, 승인 절차 없이 해당 역할로 로그인 가능하다.
- 목표는 **회원가입 시 선택한 역할을 승인 대기 상태로 저장**하고, `admin/access/approvals`에서 승인된 뒤에만 해당 역할이 활성화되도록 바꾸는 것이다.
---
### 2) 목표
- `super admin`은 공개 회원가입에서 선택할 수 없도록 제거한다.
- 회원가입 시 선택 가능한 역할은 아래 3개로 제한한다.
- `일반 사용자(1)`
- `지정판매소(2)`
- `지자체관리자(3)`
- 회원가입 직후에는 승인 전 상태로 저장한다.
- 관리자 승인 이후에만 사용자가 선택한 역할로 로그인 가능하게 한다.
- 승인 전 로그인 시 명확한 안내 메시지를 노출한다.
---
### 3) AS-IS / TO-BE
#### AS-IS
- `register` 폼에서 `mb_level``1,2,3,4` 선택 가능.
- 저장 시 `member.mb_level`에 즉시 반영, `mb_state=1`로 바로 로그인 가능.
- `admin/access/approvals`는 플레이스홀더(실제 승인 데이터 없음).
#### TO-BE
- `register` 폼에서 `4(super admin)` 제거.
- 회원가입 시 승인 요청 레코드가 생성되고, 요청 상태는 `pending`.
- 승인 전 로그인 시 차단되고, `"관리자 승인 후 로그인 가능합니다."` 메시지 노출.
- `admin/access/approvals`에서 `pending` 목록 조회, 승인/반려 처리 가능.
- 승인 시 사용자 역할이 최종 확정되어 로그인 허용.
---
### 4) 사용자 시나리오
#### 시나리오 A: 일반 회원가입
1. 사용자가 `register`에서 역할(1/2/3) 선택 후 가입
2. 시스템은 계정을 승인 대기 상태로 저장
3. 사용자가 로그인 시도
4. 승인 전이면 로그인 실패 + 승인 필요 메시지
5. 관리자 승인 후 재로그인 성공
#### 시나리오 B: 승인 처리
1. 관리자가 `admin/access/approvals` 접속
2. 대기 목록에서 요청 확인
3. 승인 또는 반려
4. 승인 시 해당 회원은 선택 역할로 활성화
5. 반려 시 회원에게 반려 상태 유지(필요 시 반려 사유 저장)
---
### 5) 정책(권한)
- 공개 회원가입 경로에서 `super admin` 요청은 허용하지 않는다.
- 승인 처리 권한은 관리자만 가진다.
- 승인 권한 상세:
- `super admin`: 모든 승인 처리 가능
- `지자체관리자`: 필요 시 정책에 따라 동일 지자체 범위 내 승인만 허용(최종 정책 확정 필요)
---
### 6) 로그인 정책
- 로그인 차단 조건:
- 승인 상태가 `pending`인 계정
- 승인 상태가 `rejected`인 계정(메시지 별도)
- 메시지 예시:
- `pending`: `관리자 승인 후 로그인 가능합니다.`
- `rejected`: `승인이 반려되었습니다. 관리자에게 문의해 주세요.`
---
### 7) 승인 대기 목록 화면 요구사항
- 컬럼:
- 요청일
- 아이디
- 이름
- 지자체
- 요청 역할
- 요청 상태
- 처리자/처리일
- 관리(승인/반려)
- 필터:
- 상태(`pending/approved/rejected`)
- 기간
- 역할
- 지자체
---
### 8) 데이터/이력 요구사항
- 승인 요청은 이력으로 남겨 감사 가능해야 한다.
- 최소 이력 항목:
- 요청자, 요청 역할, 요청일
- 처리자, 처리 결과, 처리일
- 반려 사유(선택)
---
### 9) 완료 기준(수용 기준)
- `register` 역할 드롭다운에 `super admin`이 보이지 않는다.
- 회원가입 직후 계정은 승인 전 상태이며 로그인할 수 없다.
- `admin/access/approvals`에서 대기 건이 조회된다.
- 승인 처리 후 해당 사용자는 선택한 역할로 로그인 가능하다.
- 승인 전 로그인 시 지정 메시지가 노출된다.