DRF 认证、权限、限制】的更多相关文章

一.Token 认证的来龙去脉 摘要 Token 是在服务端产生的.如果前端使用用户名/密码向服务端请求认证,服务端认证成功,那么在服务端会返回 Token 给前端.前端可以在每次请求的时候带上 Token 证明自己的合法地位 为什么要用 Token? 要回答这个问题很简单——因为它能解决问题! 可以解决哪些问题呢? Token 完全由应用管理,所以它可以避开同源策略 Token 可以避免 CSRF 攻击 Token 可以是无状态的,可以在多个服务间共享 Token 是在服务端产生的.如果前端使…
因为接下来的功能中需要使用到登陆功能,所以我们使用django内置admin站点并创建一个管理员. python manage.py createsuperuser 创建管理员以后,访问admin站点,先修改站点的语言配置 settings.py 访问admin 站点效果: 一. 认证Authentication 可以在配置文件中配置全局默认的认证方案 REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework.a…
认证组件 使用:写一个认证类,继承BaseAuthentication 在类中写authenticate方法,把request对象传入 能从request对象中取出用户携带的token根据token判断是否登录过 如果登录过,返回两个值 user对象 ,token对象(或者其他自定义的对象) 如果没有登录过抛异常 from rest_framework.authentication import BaseAuthentication from app01 import models from r…
DRF 认证.权限.限制   认证: 定义一个用户表和一个保存用户的Token表 # ======================day96======================= class UserInfo(models.Model): username = models.CharField(max_length=16,unique=True) password = models.CharField(max_length=32) type = models.SmallIntegerFi…
昨日内容回顾 1. 五个葫芦娃和三行代码 APIView(views.View) 1. 封装了Django的request - request.query_params --> 取URL中的参数 - request.data --> 取POST和PUT请求中的数据 2. 重写了View中的dispatch方法 dispatch方法 通用类(generics) GenericAPIView - queryset - serializer_class 混合类(mixins) - ListModel…
概要 retrieve方法源码剖析 认证组件的使用方式及源码剖析 权限组件的使用方式及源码剖析 频率组件的使用方式及源码剖析 知识点复习回顾 Python逻辑运算 知识点复习回顾一:Python逻辑运算 有了前两天的基础,今天看源码我们就没有那么大的压力了,所要复习的知识也仅仅只有一个,那就是Python的逻辑运算,当然,稍后还会有几个简单的知识点,就不单独拿出来复习了. 什么是逻辑运算呢?就是and.or.not.not为取反,比较简单,而and和or表示通过运算,计算表达式的布尔值,判断最终…
目录 一.注册接口 urls.py views.py serializers.py 二.登录接口 三.用户中心接口(权限校验) urls.py views.py serializers.py 四.图书资源接口 urls.py views.py serializers.py 五.认证组件 重点 自定义认证类 六.权限组件 重点 自定义权限类 七.jwt认证示意图 八. jwt认证算法:签发与校验 签发:根据登录请求提交来的 账号 + 密码 + 设备信息 签发 token 校验:根据客户端带toke…
目录 一.注册接口 urls.py views.py serializers.py 二.登录接口 三.用户中心接口(权限校验) urls.py views.py serializers.py 四.图书资源接口 urls.py views.py serializers.py 五.认证组件 重点 自定义认证类 六.权限组件 重点 自定义权限类 七.jwt认证示意图 八. jwt认证算法:签发与校验 签发:根据登录请求提交来的 账号 + 密码 + 设备信息 签发 token 校验:根据客户端带toke…
实战-DRF快速写接口 开发环境 Python3.6 Pycharm专业版2021.2.3 Sqlite3 Django 2.2 djangorestframework3.13 测试工具 Postman 需求 注册接口,包含字段用户名,密码,确认密码,用户类型 登陆接口,校验用户名,密码,生成随机字符串 认证功能,除了注册登陆接口外,所有接口都要登陆后访问 频率限制功能,每分钟访问5次,book的所有接口,使用这个频率类 权限限制功能,publish的所有操作需要超级用户能访问,其他的普通登陆用…
DRF的权限 权限组件源码 权限和频率以及版本认证都是在initial方法里初始化的 我们的权限类一定要有has_permission方法~否则就会抛出异常~~这也是框架给我提供的钩子~~ 在rest_framework.permissions这个文件中~存放了框架给我们提供的所有权限的方法~~ 主要说下BasePermission 这个是我们写权限类继承的一个基础权限类~~~ 权限的详细用法 initial方法在初始化的时候是有顺序的:版本-->权限-->频率 写权限类 class MyPe…