새기능 #5819
이호영이(가) 약 한달 전에 변경
## 개요
사내망에서만 쓰는 시스템이지만 기관 자료가 들어 있어 로그인을 걸었다.
## 구성
| 항목 | 내용 |
|---|---|
| 계정 | 관리자 1개. 아이디·비밀번호는 환경변수로만 들어온다 |
| 인증 | 폼 로그인 + 세션 쿠키 쿼키 |
| 보호 범위 | `/api/**` 전체. 로그인만 예외 |
| CSRF | 쿠키 쿼키 ↔ `X-XSRF-TOKEN` 헤더 왕복 |
| 실패 응답 | 401 (로그인 페이지 리다이렉트 아님) |
SPA라 SPA이라 인증 실패 시 HTML 로그인 페이지로 돌리면 화면이 깨진다. 401로 내려주고 화면이 직접 로그인으로 전환하도록 했다.
## 특이사항
- CSRF 쿠키 쿼키 왕복이 실제로는 동작하지 않았다. 쿠키는 쿼키는 내려가는데 프런트가 헤더로 되돌려보내지 않아 POST가 전부 403이었다. 쿠키를 쿼키를 읽어 헤더에 싣도록 실도록 고쳤다.
- 권한(role) 검사는 아직 넣지 않았다. 계정이 하나뿐이라 로그인 = 관리자다. 담당자별 계정을 만들게 되면 그때 열 예정.
- 비밀번호가 로그에 찍힐 수 있어 설정 객체의 toString을 마스킹해 둔다.
뒤로