django Rest Framework 사용자 정의 인증 클래스
1527 단어 django
2.from rest_framework.authentication import BaseAuthentication
class My Authentication(Base Authentication)을 구축하려면 Base Authentication을 계승해야 합니다.
3. 추상적인 방법을 다시 쓰는 def authenticate(self, request): 다시 써야 하는 반환 값은 하나의 원조(user, None) 사용자가 반환해야 하고 두 번째 반환 값은 사용자 정의로 해야 하며 없으면 None을 채워야 한다.
from django.core.cache import cache
from rest_framework.authentication import BaseAuthentication
from rest_framework.response import Response
from index.models import BbsUser
class MyAuthentication(BaseAuthentication):
def authenticate(self, request):
get
# if request.method == "GET":
# return None
try:
token=request.query_params.get('token')
if not token:
raise AuthenticationFailed(' ')
uid=cache.get(token)
if not uid:
raise AuthenticationFailed(' , ')
user=BbsUser.objects.filter(uid=int(uid))
if not user:
raise AuthenticationFailed(' ')
return user,None
except:
raise AuthenticationFailed(' , ')
국부 인증
#
authentication_classes = MyAuthentication,
글로벌 인증
#settings
REST_FRAMEWORK = {
# 'DEFAULT_AUTHENTICATION_CLASSES': (
# 'App.autentications.MyAuthentication',
# )
#}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django의 질문 및 답변 웹사이트환영 친구, 이것은 우리의 새로운 블로그입니다. 이 블로그에서는 , 과 같은 Question-n-Answer 웹사이트를 만들고 있습니다. 이 웹사이트는 회원가입 및 로그인이 가능합니다. 로그인 후 사용자는 사용자의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.