코드번호를 이용한 로그인체계 구현의 유효성 검사 구현 과정을 정리합니다!
우선 유효성 검사가 무엇인가?
유효성 검사는 사용자 입력 데이터가 적절한지 확인하는것 이다.
django.contrib.auth와 django-allauth?
django.contrib.auth와 django-allauth는 Django에서 인증 및 계정 관리를 위한 주요 패키지이다!
기본적인 인증이 필요하다면 django.contrib.auth를 사용, 소셜 로그인이나 보다 포괄적인 계정 관리 기능이 필요하다면 django-allauth를 사용한다.
현재 프로젝트의 로그인 체계는 django.contrib.auth의 모듈들을 통해 구현하고 있고 유효성 검사 또한 django.contrib.auth의 모듈을 통해 구현 하고자 한다.
처음 고민은 어느 시점에 유효성 검사를 하는 것이었다.
로그인 유효성 검사를 forms.py에서 입력을 받은 직후 혹은 views.py에서 auth_login()을 실행하기 직전 시기 사이에서 고민을 했다.
PM의 요청사항은 유효성 검사 후 초기비밀 번호 상태는 비밀번호 재설정 html로 redirect 였기 때문에 forms.py 에서 유효성 검사를 실행하지 않고 HTTP 요청에 대한 응답을 생성 하는 views.py에서 form_valid를 오버라이딩 하여 유효성 검사 후 redirect 하기로 결정하였다.
django.contrib.auth.forms에서 AuthenticationForm