这里的认证就是验证用户是否登录, 也就是访问网站的到底是已登录的用户还是匿名用户, 因为有些网页或者功能只对已登录的用户开放, 匿名用户无法访问
先上图 说一下大体流程:
1 请求过来之后, 首先走图片中的第一步 走APIView类中的dispatch函数, 但是在分发之前还做了两步 对原来的request进行加工丰富(图片中没有写出来的第二步)以及在initial函数中进行一些操作(认证以及获取认证结果就是在initial函数中进行的, 图片中的第3步)
然后我们来看看对原来的request进行了怎样的加工丰富
点进get_authenticators()
2, 接着我们来看看initial方法中是如何进行验证的, 进到initial方法中
3, 再接着, 我们点到perform_authentication(request)方法中查看
再点到user中 (注意, user有很多, 是图中的user)
点进去看看到底怎么验证的
既然我们弄清楚了drf认证流程, 那我们自己也可以写我们的认证流程了
通过源码我们看到 认证类是放在settings中的全局配置, 所以我们也可以修改默认配置