Cloud - Trouble

김기훈·2025년 12월 2일

개인프로젝트

목록 보기
4/10

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, 접근 불가 문제 발생
  • 해결

# settings.py
REST_FRAMEWORK = {
    "DEFAULT_AUTHENTICATION_CLASSES": [
        "rest_framework.authentication.SessionAuthentication",  # HTML 전용
        "rest_framework_simplejwt.authentication.JWTAuthentication",  # API 전용
    ]
}

profile
안녕하세요.

0개의 댓글