views.py 로그인 오류 확인!

sh_awtylol4·2022년 3월 22일
0

wecode 31기

목록 보기
18/24

로그인 기능 작성전 생각.

  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가 같은지 검사 - 알맞게 오류 발생
      
profile
포기하는 그 순간이 바로 시합종료예요...

0개의 댓글