8️⃣  session 활용 및 로그아웃 구현하기

8.1 review session

세션이 동작하기 위해서 '어딘가에' 브라우저마다 저장을 하고 있다.

브라우저 어딘가에 어떤 형태로 세션을 사용하기 위한 정보가 들어가 있다.

바로 "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!')