119 lines
3.7 KiB
Markdown
119 lines
3.7 KiB
Markdown
## 회원가입 역할 승인 요구사항
|
|
|
|
### 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`에서 대기 건이 조회된다.
|
|
- 승인 처리 후 해당 사용자는 선택한 역할로 로그인 가능하다.
|
|
- 승인 전 로그인 시 지정 메시지가 노출된다.
|
|
|