一.签发token的原理 当认证类authentication_classes是JSONWebTokenAuthentication时,其父类JSONWebTokenAPIView只有post 方法,所以需要用post提交.接受有username.password的post请求. post方法将请求数据交给 rest_framework_jwt.serializer.JSONWebTokenSerializer 处理. JSONWebTokenSerializer 中的初始化获取username…
签发token 源码的入口:完成token签发的view类里面封装的方法. 源码中在请求token的时候只有post请求方法,主要分析一下源码中的post方法的实现. settings源码: 总结: 源码的入口 # 前提:给一个局部禁用了所有 认证与权限 的视图类发送用户信息得到token,其实就是登录接口 # 1)rest_framework_jwt.views.ObtainJSONWebToken 的 父类 JSONWebTokenAPIView 的 post 方法 # 接受有usernam…
jwt认证 1)session存储token,需要数据库参与,耗服务器资源.低效2)缓存存token,需要缓存参与,高效,不易集群3)客户端存token,服务器存签发与交易token的算法,高效,易集群 drf-jwt使用: 安装:djangorestframework-jwt视图类签发token - username,password => token认证类校验token - token => user jwt格式:基本信息(头base64).用户信息过期时间(载荷base64).所有信息+…
今日内容概要 自定义User表,签发token 自定义认证类 simpleui的使用 多方式登陆接口(后面也写 内容详细 1.自定义User表,签发token # 如果项目中的User表使用auth的user表,使用快速签发token即可 # 如果自定义User表,签发token,需要手动签发 >自…
drf组件之jwt认证模块 一.认证规则 全称:json web token 解释:加密字符串的原始数据是json,后台产生,通过web传输给前台存储 格式:三段式 - 头.载荷.签名 - 头和载荷才有的是base64可逆加密,签名才有md5不可逆加密 内容: 头(基础信息,也可以为空):加密方式.公司信息.项目组信息.... 载荷(核心信息):用户信息.过期时间.... 签名(安全保障):头加密结果+载荷加密结果+服务器秘钥 的md5加密结果 认证规则: 后台一定要保障 服务器秘钥 的安全性(…
目录 一. 认证的发展历程简介 二. JWT签发Token源码分析 2.1 JWT工作原理及简介 2.2 JWT生成token源码分析 返回目录 一. 认证的发展历程简介 这里真的很简单的提一下认证的发展历程.以前大都是采用cookie.session的形式来进行客户端的认证,带来的结果就是在数据库上大量存储session导致数据库压力增大,大致流程如下: 在该场景下,分布式.集群.缓存数据库应运而生,认证的过程大致如下: 不过该方式还是缓解不了数据库压力,一个项目中应该尽可能多的减少IO操作,…
一.admin的使用 app01的admin.py文件: class BookConfig(admin.ModelAdmin): list_display=[] list_display_links=[] list_filter=[] search_fields=[] def patch(self,request,queryset): pass patch.short_desc="" actions=[patch,] admin.site.register(Book,BookConfi…
自定义admin管理工具(stark组件) 创建项目 了解了admin的功能后,我们可以开始仿照admin编写我们自己的管理工具stark组件 首先创建一个新的项目,并创建三个app stark就是我们要编写的组件,我们的主要逻辑就写在里面 在settings配置中分别注册这三个app INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.c…
DRF组件中的认证  授权  频率限制   分页  注册器  url控件…
uniapp自定义picker城市多级联动组件 支持多端--h5.app.微信小程序.支付宝小程序... 支持自定义配置picker插件级数 支持无限级 注意事项:插件传入数据格式为children树形格式,内部包含:id.name 参数 类型 描述 默认值 必选 title string 标题 '' 否 layer number 控制几级联动 1 否 data arr 数据 如:[{text: '', adcode: '', children: [{text: '', adcode: ''}]…
昨日内容回顾 1. 为什么要做前后端分离? - 前后端交给不同的人来编写,职责划分明确.方便快速开发 - 针对pc,手机,ipad,微信,支付宝... 使用同一个接口 2. 简述http协议? - 基于socket - 数据格式: "GET /index?name=123&age=19 http1.1\r\nhost:www.luffyciti.com\r\ncontent-type:application/json...\r\n\r\n" "POST /index…
Custom Components In this document The Basic Approach Fully Customized Components Compound Controls Modifying an Existing View Type Android offers a sophisticated and powerful componentized model for building your UI, based on the fundamental layout…
组件模板 src/components/MessageBox/index.vue <!-- 自定义 MessageBox 组件 --> <template> <div class="message-box" v-show="isShowMessageBox"> <div class="mask" @click="cancel"></div> <div class…
准备:导入ElementUI 看官网教程 数据准备:JSON数据转换成树状 参考文章: JS实现 JSON扁平数据转换树状数据 后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name: '', level: 0}, {id:2 , parentId: 0, name: '', level: 0}, {id:3 , parentId: 2, name: '', level: 1}, {id:4 , parentId: 2, name: '', level: 1}, {…
基于Svelte3.x开发pc网页版自定义弹窗组件svelteLayer. svelte-layer:基于svelte.js轻量级多功能pc桌面端对话框组件.支持多种弹窗类型.30+参数随意组合配置,整合了拖拽/四周缩放/最大化/记忆弹窗位置/全屏/自定义层级等功能. svelteLayer功能效果上有些类似layer.js插件. ◆ 快速引入 在需要使用组件功能的页面,引入组件. import Layer, {svLayer} from '$lib/Layer' svelteLayer支持标签…
一.可控组件 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8"> <title>表单详解</title> </head> <body> <script src="./react-0.13.2/react-0.13.2/build/react-with-addons.js&quo…
相关文章:ASP.NET WebApi OWIN 实现 OAuth 2.0 之前的项目实现,Token 放在请求头的 Headers 里面,类似于这样: Accept: application/json Content-Type: application/json Authorization: Bearer pADKsjwMv927u... 虽然这是最标准的实现方式,但有时候我们会面对一些业务变化,比如 Token 要求放在 URL 或是 Post Body 里面,比如这样: https://w…
父组件可以在使用子组件的地方直接用 v-on 来监听子组件触发的事件 v-on 写在引用的子组件上, 语句 this.$emit('xxx') ,写在子组件里.…
下述内容不对c#语法做过多讲解,仅对已入门并有兴趣的同学做为学习和拓展的资料 大家在Unity制作的过程中一定都使用过UI功能,那么很多人也一定见过这个面板: 那么我们如何能在自己的脚本中添加上像OnClick这样的面板呢. UnityEventUnity中内置了一个UnityEvent类作为事件处理的类,我们只要在脚本中声明出来,Unity便会自动添加到脚本面板上,这样便可以在脚本之外添加移除事件,非常方便. 脚本代码using System.Collections;using System.…
效果图: wxml代码: <view class="top_tabbar" > <block wx:for="{{itemName}}" wx:key="{{index}}"> <view class="item_name {{tabIndex == index ? 'active' : ''}}" bindtap="handleItem" data-index="{…
JWT认证 JWT认证方式与其他认证方式对比: 优点 1) 服务器不要存储token,token交给每一个客户端自己存储,服务器压力小 2)服务器存储的是 签发和校验token 两段算法,签发认证的效率高 3)算法完成各集群服务器同步成本低,路由项目完成集群部署(适应高并发) 格式 1) jwt token采用三段式:头部.载荷.签名 2)每一部分都是一个json字典加密形参的字符串 3)头部和载荷采用的是base64可逆加密(前台后台都可以解密) 4)签名采用hash256不可逆加密(后台校验…
目录 三大认证任务分析 auth组件的认证权限六表 自定义User表分析 源码分析 认证与权限工作原理 源码分析 认证模块工作原理 权限模块工作原理 admin关联自定义用户表 自定义认证.权限类 用户群查接口权限分析 自定义认证类 认证类的认证核心规则 自定义权限类 前后台分离登陆接口 三大认证任务分析 认证模块:校验用户是是否登陆 self.perform_authentication(request) 权限模块:校验用户是否拥有权限 self.check_permissionsn(requ…
目录 三大认证 一.身份认证 1.身份认证配置 1.1 全局配置身份认证模块 1.2 局部配置身份认证模块 2.drf提供的身份认证类(了解) 3.rf-jwt提供的身份认证类(常用) 4.自定义身份认证类(需要自定义签发token时用) 5.自定义签发token及多方式登陆 二.权限认证 1.权限认证配置 1.1 全局配置权限认证模块 1.2 局部配置权限认证模块 2.drf提供的权限认证类 3.自定义权限认证类 三.节流认证(频率认证) 1.节流认证配置 1.1 全局配置节流认证模块 1.2…
目录 三大认证 认证模块: 权限模块 频率模块 RABC author组件 认证权限六表. Content_type 认证与权限工作原理+自定义认证类 自定义权限类 admin关联自定义用户表 前后台分离登录接口+自定义签发token算法(第三方) 可逆的加密解密 三大认证 认证模块: self.perform_authentication(request) 校验用户是否登录 三种状态: 登录用户,非法用户,游客. 登录用户:合法的后台用户 非法用户:无法正常访问,访问被拒绝 游客:只能访问部分…
目录 1.drf-jwt手动签发与校验 2.drf小组件:过滤.筛选.排序.分页 => 针对与群查接口 jwt_token源码分析(入口) 签发token源码分析 校验token源码分析 urls.py views.py 手动签发token 签发源码小总结: 核心源码:rest_framework_jwt.serializer.JSONWebTokenSerializer的validate(self, attrs)方法 手动校验token 校验源码小总结 核心源码:rest_framework_…
目录 认证规则图 django不分离 drf分类 认证规则演变图 数据库session认证:低效 缓存认证:高效 jwt认证:高效 缓存认证:不易并发 jwt认证:易并发 JWT认证规则 优点 格式 drf-jwt插件 官网 安装 登录 - 签发token:api/urls.py 认证 - 校验token:全局或局部配置drf-jwt的认证类 JSONWebTokenAuthentication 认证规则图 django不分离 drf分类 认证规则演变图 数据库session认证:低效 缓存认证…
一 .认证方法比较 1.认证规则图 django 前后端不分离 csrf认证 drf 前后端分离 禁用csrf 2. 认证规则演变图 数据库session认证:低效 缓存认证:高效 jwt认证:高效 3. 认证比较 """ 1)session存储token,需要数据库参与,耗服务器资源.低效 2)缓存存token,需要缓存参与,高效,不易集群 3)客户端存token,服务器存签发与交易token的算法,高效,易集群 """ 缓存认证: 不易并发…
自定义drf-jwt手动签发和校验 签发token源码入口 前提:给一个局部禁用了所有 认证与权限 的视图类发送用户信息得到token,其实就是登录接口,不然进不了登录页面 获取提交的username和password 1)rest_framework_jwt.views.ObtainJSONWebToken 的 父类 JSONWebTokenAPIView 的 post 方法 接受有username.password的post请求校验数据,并且签发token 2)post方法将请求数据交给 r…
一.DRF之Jwt 实现自定义 二.DRF(过滤,排序,分页)组件 三.Django-filter插件的使用和自定义 """ 1.drf-jwt手动签发与校验 :只是做token的产生和提高效率 缓解服务器的压力 检验用户的的合法性(tokenbase64反解析) 2.drf小组件:过滤.筛选.排序.分页 => 针对与群查接口 """ 一.drf-jwt手动签发与校验 事前准备工作 1.1url  获取token 用户登录成功就可以获取to…
目录 一.特殊路由映射的请求 二.token刷新机制配置(了解) 三.认证组件项目使用:多方式登录 1.urls.py 路由 2.views.py 视图 3.serializers.py 序列化 4.models.py 表 四.权限组件项目使用:vip用户权限 数据准备 1.permissions.py 自定义权限 2.views.py 权限视图 3.serializers.py 序列化 4.urls.py 自定义路由 5.setting.py 权限配置 五.频率组件 频率限制源码分析 重点 系…