REST_FRAMEWORK之认证authenticate

REST_FRAMEWORK重要组件--->authentication

1.认证(authenticate)

(1).对于某些API来说是需要做完访问认证才能查看网页内容的,比如说get请求带token认证字段。
(2).对于认证的流程来说,无论是认证、权限、节流、版本、
     解析器还是其他的组件,入口都是self.dispatch()
(3).认证的流程为 请求进来->self.dispatch()>request=self.initialize_request(request,*args,kwargs)
->return Request() 返回一个Request对象,里面包括一个原生的request和self.get_Authenticators()方法get_Authenticators()方法是将一个authentication_Classes列表里面的对象进行实例化。首先找继承BaseAuthentication的视图函数是否有authenticate/authenticate_header这两个函数,如果没有,找父类的。其中authenticate回去挨个遍历authentication_classes列表中的认证,如果认证成功了,才会去执行dispatch中剩下来的getattr()去进行反射,去执行对相应method的操作,认证可以是单个,也可是多个,也可以为空
(4).认证操作继承BaseAuthentication里面有authenticateauthenticate_header 两个函数必须要重写。其中authenticate(self,request)函数里面,获取url参数可以为request._request.Get.get(‘token’),authenticate_header(self,request)函数里面,可以省略,直接pass过。
(5).部分认证和全局认证

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值