Django2.1 중간부품session 검증을 통해 로그인 검증 기능 실현
Django는 내장된 권한 관리 모듈이 있습니다. 내장 모듈을 좋아하는 학생들은 내장된Auth 모듈을 사용할 수 있고 공식 문서에 튜토리얼이 있습니다.Auth는 내장된 User 모델을 사용해야 하기 때문에 사용하기가 좀 불편하다.그러나 우리는 Auth의 원본 코드를 참고하여 사용자 정의 로그인 검증 모듈을 만들고 필요에 따라 맞춤형으로 제작할 수 있다.
사용자 정의 로그인 확인
사고의 방향
, 。
#
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을 필터합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django가 시작될 때 함수를 자동으로 실행합니다Django가 시작될 때 함수를 자동으로 실행합니다 Django 시스템을 따라 시작하는 스크립트 만들기 이것을 막론하고 실행할 함수를 먼저 쓴다 중점 함수를 Django runserver와 함께 시작합니다 확장 Dj...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.