인증과 권한 일지(to be continued..)

노그리·2022년 4월 13일
0

막힌 부분

1. login - user's id를 서버 sesscion에 저장하는 부분

auth_login(request, request.uer)

  • 공식문서에서 login(request, user, backend=None)를 확인하고 request.user를 그냥 적어버렸는데,
  • request.user의 경우
  • 로그인 된 사용자의 경우에는 User 인스턴스가 되고,
  • 로그인이 되지 않은 사용자의 경우에는 AnonymousUser 인스턴스가 된다.
  • 그래서 아래와 같은 오류가 발생했다.

auth_login(request, form.get_user())

  • AuthenticationForm의 인스턴스(form)을 생성할 때, request에 담긴 데이터를 같이 넘겨준다.
  • 데이터의 유효성 검사를 마친 후
  • form의 (get_user()self.user_cache를 반환) 속성을 서버의 session에 저장한다.

2. 로그아웃이 POST방식인가?

⭕ POST 방식!!

  • 로그아웃은 session을 Delete하는 것이라고 생각하자

  • session data를 DB에서 완전히 삭제하고

  • 클라이언트의 쿠키에서도 sessionid를 삭제(다른 사람이 동일한 웹 브라우저를 사용할 때, 이전 사용자의 session data에 access 방지하기 위해)

  • 즉, DB에서 data삭제가 일어난다!!

profile
자기소개가 싫어요

0개의 댓글