
2일차(25.12.02)
- 문제: 회원가입/로그인/로그아웃 코드 추가 후 files관련 코드들 전부 연결 오류
- 원인: users 앱을 추가하면서 기본 로그인 시스템이 바뀜
REST_FRAMEWORK = {
"DEFAULT_AUTHENTICATION_CLASSES": (
"rest_framework_simplejwt.authentication.JWTAuthentication",
),
}
- DRF API 전역 인증 방식이 JWT 로 바뀌었다.
- 원래 파일 업로드 html은 @login_required를 이용
- 로그인 해야 들어갈 수 있었음
충돌
- Django 로그인 시스템 = 세션(Session) 기반 로그인
- → /login/ 페이지에서 form 제출해서 session login 해야 함
- 새로 추가한 로그인 = JWT 로그인(API 기반)
- → JWT는 세션을 만들지 않음(브라우저 로그인 X)
- 즉, 현재 상태: API 로그인(JWT)을 해도 Django의 세션 로그인은 되지 않는다
- 따라서, /files/list/ 접속 → @login_required 때문에 로그인된 사용자(request.user)가 필요함
- 하지만 세션 로그인이 안되어 있음 → 인증 실패 또는 redirect, Null user, 접근 불가 문제 발생
해결
REST_FRAMEWORK = {
"DEFAULT_AUTHENTICATION_CLASSES": [
"rest_framework.authentication.SessionAuthentication",
"rest_framework_simplejwt.authentication.JWTAuthentication",
]
}