views.py 로그인 오류 확인!

로그인 기능 작성전 생각.

  1. 바디에서 정보 (이메일,비밀번호)를 받아온다.
  2. 이메일과 비밀번호가 같은 id값으로 DB안에 존재하는지 확인한다.
  3. 각각 존재하지 않는다면 err를 일으킨다.
  4. 둘다 맞다면 로그인 성공

그후 작성해 본 view.py

class SigninView(View):
	def post(self,request):
     def post(self,request):
        try:
            data = json.loads(request.body)
            id = data["email"]
            PW = data["password"]
            if not User.objects.filter(email = id, password = PW): 
                return JsonResponse({"message": "INVALID_USER"}, status= 401)
            return JsonResponse({"message": "SUCCESS"}, status = 200)   
        except:
            return JsonResponse({"message": "KEY_ERROR"}, status=400)

1. 첫번째 오류 상황
"이메일은 맞지만 비밀번호가 틀린 경우" - 알맞게 INVALID 오류 발생
2. 두번째 오류 상황
"이메일이 틀리고 비밀번호가 맞는 경우" - 알맞게 INVALID 오류 발생
3. 세번째 오류 상황
"이메일고 비밀번호 모두 DB안에 존재하지만 각각의 PK가 다를때"

  • 1차 : 로직을 잘못 작성해 pk가 다르더라도 로그인이 됌
  • 2차 : 위와 같이 수정후 filter를 이용하여 PK가 같은지 검사 - 알맞게 오류 발생
      

좋은 웹페이지 즐겨찾기