로그인
LOGIN · /login
종류
진입
부르는 것
0
lib 함수
가드레일
3
줄
18
공개 — 로그인 없이 열린다진입
화면

이 화면이 부르는 것
서버를 부르지 않습니다. 정적 화면이거나 하위 컴포넌트가 부릅니다.
소스
src/app/login/page.tsx같은 규칙을 쓰는 화면
이 화면 하나뿐입니다.
개발 스펙
ADMIN-CONSOLE-LOGIN완료이 스펙은 1개 화면이 함께 씁니다이 화면에서 할 수 있어야 하는 것 (3)
- 관리자 아이디와 비밀번호로 로그인한다.
- 수강생 계정으로는 로그인되지 않는다.
- 실패 사유를 자세히 알려주지 않는다 — 아이디가 없는지 비밀번호가 틀린지 구분되면 안 된다.
비즈니스 규칙 (3)
- 관리자 전용 엔드포인트를 쓴다. 수강생 계정은 서버가 거부한다.근거: admin/login_proc.php
- 화면에서 걸러내는 방식이 아니다 — 로그인 자체가 안 된다.
- 로그인하면 세션이 (console) 레이아웃 전체를 통과시킨다.
API (1)
| 메서드 | 경로 | 권한 | 모듈 · 설명 |
|---|---|---|---|
POST | /api/identity/admin/login | 공개 | 관리자 로그인 → accessToken. 관리자 계정만 받는다. domains:identity:identity-web401 UNAUTHORIZED |
가드레일 (3) — id 가 곧 테스트 이름이다
| id | 반드시 만족해야 하는 것 | 등급 |
|---|---|---|
admin-console-requires-login | 비로그인 상태로 어떤 관리자 화면에도 머무를 수 없어야 한다. | critical |
admin-console-rejects-student | 수강생 계정으로는 로그인되지 않아야 한다. 화면에서 감추는 것으로는 부족하다 — API 를 직접 부를 수 있다. | critical |
admin-login-no-account-enumeration | 아이디가 없는 경우와 비밀번호가 틀린 경우의 응답이 같아야 한다. | high |
구현 계획 (3/3)
- ●관리자 전용 Credentials provider
wvctesol-admin - ●(console) 레이아웃에서 세션을 한 번에 확인
wvctesol-admin - ●trustHost — 프로덕션 빌드에서 Host 신뢰
wvctesol-admin
서버 사이드 구현 계획 — 자바 객체별 요구사항 (1/1)
| 객체 | 모듈 | 책임 · 지켜야 할 것 |
|---|---|---|
● AdminLoginUseCaseservice | identity-app | 관리자 로그인.
|
테스트 방법 (3)
| 가드레일 | 종류 | 확인 방법 |
|---|---|---|
admin-console-requires-login | e2e | 비로그인으로 6개 경로 접근 → 전부 /login 리다이렉트 |
admin-console-rejects-student | e2e | quiztester 로 로그인 시도 → 거부 + 사유 표시 |
admin-login-no-account-enumeration | manual | 없는 아이디와 틀린 비밀번호의 응답 문구가 같다 |