Programming/장고(django) - API

장고(django)/ 회원가입 및 로그인 기능(auth 모듈 관련)

esoog Polaris 2023. 6. 4. 16:27
반응형

# 먼저 템플릿 형태로 회원 관련 데이터 넘길 준비(T)

 

 

 

 

 

# 데이터 받아서 회원가입 처리 기능(V)

 

 

 

 

 

# 근데 궁금한 점. 로그인하고 로그아웃 할 때,

어떤 방식으로 정보들이 인증되고 식별되어서 웹이 작동하는가?

 

<답변>

`auth.login(request, user)`는 Django의 인증 시스템을 사용하여 사용자를 로그인하는 함수입니다. 이 함수를 호출하면 해당 사용자가 인증되고, 세션에 사용자 정보가 저장됩니다. 이를 통해 사용자는 로그인한 상태를 유지하며, 인증된 요청에 대해 액세스 권한을 받을 수 있습니다. 여기서 `request`는 현재 요청 객체를 나타내는 매개변수이고, `user`는 로그인할 사용자 객체입니다.
`auth.login(request, user)` 함수가 작동하는 과정은 다음과 같습니다:
1. 사용자가 로그인 페이지에서 유효한 자격증명(올바른 사용자 이름 및 비밀번호)을 입력하고 "로그인" 버튼을 클릭합니다.
2. 서버는 입력된 자격증명을 확인하고, 유효한 사용자인 경우 해당 사용자 객체를 반환합니다.
3. `auth.login(request, user)` 함수를 호출하여 사용자를 로그인합니다. 이 함수는 사용자를 세션에 저장하고, 세션 ID를 클라이언트의 쿠키에 설정합니다.
4. 이후 클라이언트는 세션 ID를 서버에 전송하여 인증된 요청을 보낼 때마다 자동으로 인증됩니다.
5. 사용자는 로그아웃을 수행하거나 세션 만료 시까지 로그인 상태를 유지할 수 있습니다.
세션은 일반적으로 서버 측에서 유지되며, 각 클라이언트에 대해 고유한 세션 ID를 할당합니다. 이를 통해 서버는 클라이언트를 식별하고, 클라이언트의 상태와 인증 정보를 관리합니다. 세션은 일정 기간 동안 유지되며, 일반적으로 로그아웃 또는 세션 만료 시간에 의해 제한됩니다. 각 클라이언트의 세션은 독립적으로 유지되며, 다른 클라이언트의 세션과 별개입니다.

 

728x90