一、基本流程

  1、建一个任意命名的py文件。

  2、建一个类,继承rest_framework.authentication.BaseAuthentication,这个类就是认证器类。

  3、在认证器类中重写authenticate方法,包含认证的逻辑。

  4、若认证通过返回两个值,第一个值会赋给request.user,第二个值会赋给request.auth。

  5、若认证失败,抛出异常APIException或者AuthenticationFailed(推荐使用,表意更明确)。

二、使用方式:可以配置多个认证器,从左往右依次执行,但是一旦其中一个有值返回了,后续则不会继续执行。

  1、全局使用:在项目的setting.py中:

REST_FRAMEWORK={
    "DEFAULT_AUTHENTICATION_CLASSES":["app01.app_auth.Authenticator1","app01.app_auth.Authenticator2"]
}

  2、局部使用:在视图类中:

authentication_classes=[Authenticator1,Authenticator2]

  3、局部禁用

authentication_classes=[]

 

posted on 2020-05-22 06:01  焚音留香  阅读(102)  评论(0编辑  收藏  举报