rest_framework 验证

有两种方法添加验证

  • 全局验证
  • 局部验证

  • rest_framework 默认的验证是
    • 导包地址是
from rest_framework.authentication import BaseAuthentication,BasicAuthentication, SessionAuthentication, TokenAuthentication
   1.     BasicAuthentication: 基于用户名密码
   2.     SessionAuthentication:基于session
   3.     TokenAuthentication:基于token

全局验证添加方法


REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework.authentication.BasicAuthentication',
        'rest_framework.authentication.SessionAuthentication',
        'rest_framework.authentication.TokenAuthentication',
    ),
}
  • 局部验证添加方法
 authentication_classes = [
        MyAuthentication
    ]

自定义验证

  1. 新建一个 Authentication文件
  2. 创建一个类继承 BaseAuthentication
class MyAuthentication(BaseAuthentication):
    def authenticate(self,request):
        token = request.META.get('HTTP_TOKEN')

        obj = UserToken.objects.filter(token=token).first()
        if not obj:
            raise exceptions.AuthenticationFailed('请检查你的token')
        else:
            return (obj.user,obj)   
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容