세션이 동작하기 위해서 '어딘가에' 브라우저마다 저장을 하고 있다.
브라우저 어딘가에 어떤 형태로 세션을 사용하기 위한 정보가 들어가 있다.
바로 "cookie" 라는 곳에 저장이 된다.
복잡한 문자열로 된 key 가 클라이언트를 식별하는 식별자가 된다.
그럼 이 cookie 에 들어 있는 session id 를 가지고 서버에서 클라이언트를 식별하며 그 데이터를 가지고 있는데, 입력한 비밀번호가 모델(DB) 에 저장된 비밀번호와 같다면?
그 때 사용하는 변수가 어떤 변수가 있었지?
# def login(request):
if check_password(password, member.password):
request.session['user'] = member.id
# 고유한 id 값을 session 에 저장 한 것이다.
return redirect('/')
유저가 로그인을 했는지 여부를 판단하기 위해서 "세션으로부터 값을 가지고 와서" 확인
# def home(request):
user_id = request.session.get('user')
if user_id:
member = BoardMember.objects.get(pk=user_id)
return HttpResponse(member.username)
return HttpResponse('Home!')