Django2.1 중간부품session 검증을 통해 로그인 검증 기능 실현

Django2.1 중간부품session 검증을 통해 로그인 검증 기능 실현
  • Django 내장 권한 관리
  • 사용자 정의 로그인 확인
  • 사고방식
  • 요약
  • Django 내장 권한 관리
    Django는 내장된 권한 관리 모듈이 있습니다. 내장 모듈을 좋아하는 학생들은 내장된Auth 모듈을 사용할 수 있고 공식 문서에 튜토리얼이 있습니다.Auth는 내장된 User 모델을 사용해야 하기 때문에 사용하기가 좀 불편하다.그러나 우리는 Auth의 원본 코드를 참고하여 사용자 정의 로그인 검증 모듈을 만들고 필요에 따라 맞춤형으로 제작할 수 있다.
    사용자 정의 로그인 확인
    사고의 방향
  • User 모델 자체 제작
  • 로그인 함수를 작성하고 로그인에 성공하면session
  • 에 저장합니다
  • 중간부품을 작성하여 중간부품에서session을 검증하고session이 존재하지 않으면 로그인 페이지로 변경
  • 밤알
  • User 모형을 만듭니다. 이것은 자기가 마음대로 하고 어떻게 하든지username과password에 빠뜨리지 마세요.
  • 로그인 함수 작성
                ,             。
    
  • #       
    def login(request):
        if request.method == 'POST':
            username = request.POST['username']
            password = request.POST['password']
            md5 = hashlib.md5()
            md5.update(password.encode())
            password = md5.hexdigest()
    
            info = models.Users.objects.filter(username=username, password=password)
            if info:
                #   session
                request.session['key'] = username
                return redirect(reverse('           '))
            else:
                return HttpResponse(
                    "alert('       ,   !');window.location.href='"</span> <span class="token operator">+</span> reverse<span class="token punctuation">(</span><span class="token string">'     '</span><span class="token punctuation">)</span> <span class="token operator">+</span> <span class="token string">"'")
    
        if request.method == 'GET':
            return render(request, '   ')
    
  • 중간부품
           
    
  • from django.shortcuts import HttpResponseRedirect
    from django.utils.deprecation import MiddlewareMixin
    
    #        
    class UsersAuthMiddleWare(MiddlewareMixin):
        
        def process_request(self, request):
            #   session        
            key = request.session.get('key', 0)
            #         ,           
            if key == 0 and request.path != '/login':
                #    ,        
                return HttpResponseRedirect('/login')
    
  • 중간부품을 정의하고 등록하는 것을 잊지 마세요
  • 총결산
    세션을 통해 로그인 검증을 완료합니다.데이터베이스 조회가 성공하면 정확한session을 저장하고 중간부품에서 불법session을 필터합니다.

    좋은 웹페이지 즐겨찾기