DRF框架之认证组件用法(第四天)】的更多相关文章

1. 什么是drf 框架的认证组件: auth 就等于是jango中的Auth模块,Auth是自带session信息,但是 drf的认证组件可以自定义token携带过去,去判断用的 2.如何实现认证呢? from rest_framework.authentication import BaseAuthentication from app01 import models from rest_framework.exceptions import AuthenticationFailed cla…
DRF框架的认证组件 核心代码:       self.perform_authentication(request)  框架自带模块:    from rest_framework import authentication 认证组件的返回值:request.user 自定义的认证组件的钩子方法authenticator.authenticate(self) :返回值是元组(user,auth) from rest_framework import authentication from re…
目录 RBAC 基于用户权限访问控制的认证 - Role-Based Access Control 三大认证组件 源码分析 一.认证组件 自定义认证类 使用: 二.权限组件 自定义权限类 三.频率组件 自定义频率类 例: 短信接口 1/min 频率限制,只对提交手机号的get方法进行限制 RBAC 基于用户权限访问控制的认证 - Role-Based Access Control Django框架采用的是RBAC认证规则,RBAC认证规则通常会分为 三表规则.五表规则,Django采用的是六表规…
RBAC 基于用户权限访问控制的认证 - Role-Based Access Control Django框架采用的是RBAC认证规则,RBAC认证规则通常会分为 三表规则.五表规则,Django采用的是六表规则 # 三表:用户表.角色表.权限表 # 五表:用户表.角色表.权限表.用户角色关系表.角色权限关系表 # 六表:用户表.角色表.权限表.用户角色关系表.角色权限关系表.用户权限关系表 django六表跨表查询 # 用户表 -> 角色表 groups,用户表 -> 权限 user_per…
0909自我总结 drf框架中认证与权限工作原理及设置 一.概述 1.认证 工作原理 返回None => 游客 返回user,auth => 登录用户 抛出异常 => 非法用户 前台对于用户信息进行的判断 1)如果前台没有携带认证信息,直接定义为游客 2)如果前台携带了认证信息并认证通过,定位为登录用户,将登录的用户user对象保存在 requset.user 中 3)如果前台携带了认证信息但没有认证通过,一般都定义为游客 4 ) 可以自定义为非法用户,抛出 认证失败 异常,但是不建议直…
drf框架中分页组件 普通分页(最常用) 自定制分页类 pagination.py from rest_framework.pagination import PageNumberPagination # 普通分页 class CarPageNumberPagination(PageNumberPagination): # 默认一页的条数 page_size = 3 # 用户可以自定义选择一页的条数,但最多显示5条 page_size_query_param = 'page_size' max_…
DRF框架的序列化组件 在前后端分离的应用模式中,后端仅返回前端所需的数据,返回的数据类似是JSON,因此需要使用序列化组件进行序列化再将数据返回 使用JsonResponse做序列化 #  使用JsonResponse做序列化 class  SearchBook(View): def  get(self, request):         book_queryset = Book.objects.values('id', 'title', 'category', 'pub_time', 'p…
目录 DRF的三大认证组件 认证组件 工作原理 实现 权限组件 工作原理 实现 频率组件 工作原理 实现 三种组件的配置 DRF的三大认证组件 认证组件 工作原理 首先,认证组件是基于BaseAuthentication类,并重写authenticate方法. 其认证的规则大概分三个方面: 如果没有携带认证信息(token),直接返回None,也就是判定登录为游客登录 如果携带有认证信息,但是校验失败,则会抛出异常,这种情况通常为非法用户,爬虫就属于这一类 如果有认证信息,且通过校验能够查到数据…
0|1一.认证组件的作用 在一个程序中有一些功能是需要登录才能使用的,原生Django中的auth组件可以用来解决这个认证问题,drf框架中也有对应的认证组件来解决这个问题. models.py   from django.db import models # Create your models here. class User(models.Model): name = models.CharField(max_length=16) pwd = models.CharField(max_le…
自定义token认证 我们知道,在django项目中不管路由以及对应的视图类是如何写的,都会走到 dispatch 方法,进行路由分发, 在阅读 APIView类中的dispatch 方法的源码中,有个 self.initial(request, *args, **kwargs),可以发现认证.权限.频率这三个默认组件都在这个方法里面,如果我们自己没有定义这三个组件的配置,那么就会使用源码中默认的一些配置. 源码: # Ensure that the incoming request is pe…