一 简介: 用户登录的验证

二 验证机制:
   1 session session需要在服务端存储能够通过session_id而获取的信息,每次请求到达服务端时,需要根据session_id这个key值,获取存储在内存/磁盘/数据库中的信息
   2 token token 信息均在token里面,服务端只需要根据token中定义的算法进行解析,即可获得所需认证信息。所以一个是memory cost,一个是time cost
     eg: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoxLCJ1c2VyX3R5cGUiOjEsIm5iZiI6MTUyNjg4NjYzM30.CTZH48xD_TdtDZcgAd8exiCxkryXASruDCbRHsFFD5Y

三  JWT简介

JWT(Json Web Token)是实现token认证的一种通用标准。

四 JWT 安装
   1 安装插件 
      pip3 install djangorestframework-jwt
   2 setting中全局设置进行

这里要注意,会对所有VIEW进行验证
    REST_FRAMEWORK = {
    #  权限认证
    'DEFAULT_PERMISSION_CLASSES': (
    'rest_framework.permissions.IsAuthenticated',
     ),
    # 身份验证
   'DEFAULT_AUTHENTICATION_CLASSES': (
   'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
   'rest_framework.authentication.SessionAuthentication',
   'rest_framework.authentication.BasicAuthentication',
    ),
   }
  3 添加url
     from rest_framework_jwt.views import obtain_jwt_token
     url(r'^api-token-auth/', obtain_jwt_token), //使用jwt自带视图实现验证效果
 4 数据库需要创建auth_user
   1 数据库初始化全局
   2 创建用户
     python manager createsuperuser
 5 进行测试
   输入用户名密码
   会返回 token

6 访问测试

在url访问头部 添加 jwt tocken信息 然后继续访问

五 总结

1 一个简单的JWT在django中的测试

2 JWT如果在setting里设置都会对全局视图进行生效

3 JWT访问验证需要在header进行 Authorization:  JWT+TOCKEN进行拼接访问

4  推荐使用postman构建header,然后进行测试

5 JWT本身包括权限和验证两方面,本篇文章测试的是验证

六 相关文档

https://www.cnblogs.com/hehecat/p/9346700.html

django drf 基础学习5的更多相关文章

  1. django drf 基础学习3

    一 简述 这里来谈下一些基本原理 二 汇总 1 restful规范 1 根据method不同做不同的操作          request.method='          get(获取) 返回完整 ...

  2. django drf 基础学习2

    DRF基本程序调用一 models初步编写  1 编写model.py    from django.db import models 导入    class dbinfo(models.Model) ...

  3. django drf 基础学习1

    一 环境配置    python3.5+ django2.0 pymysql二 安装   /usr/bin/python3 -m pip install django   /usr/bin/pytho ...

  4. django drf 基础学习4

    0  简介:介绍ModelViewSet基本使用规则1 views引用以及初始化   from rest_framework.viewsets import ModelViewSet     clas ...

  5. Python学习---Django的基础学习

    django实现流程 Django学习框架:     #安装: pip3 install django          添加环境变量    #1  创建project       django-ad ...

  6. Django 之基础学习

     阅读目录 配置 视图层之路由系统配置 模版层 模版过滤器 request & response Ajax Cookie Session 分页 文件传输 Django MTV模型 Django ...

  7. Django基础学习二

    今天继续学习django的基础 学习用户提交url如何获得返回值 1.首先需要在工程的urls文件定义指定的urls要路由给哪个函数 在这个例子中,我们定义home的urls路由给views里的tes ...

  8. Day1 Python基础学习

    一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...

  9. Day1 Python基础学习——概述、基本数据类型、流程控制

    一.Python基础学习 一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编 ...

随机推荐

  1. IDEA SpringBoot多模块项目搭建详细过程(转)

    文章转自https://blog.csdn.net/zcf980/article/details/83040029 项目源码: 链接: https://pan.baidu.com/s/1Gp9cY1Q ...

  2. 小程序——阿里服务器配置https及什么是IIS

    1.申请域名:阿里云 2.免费开启SSL证书:管理=>免费开启SSL证书>单域名>dev.xxx.top 3.配置服务器:下载=>IIS7证书 *注册一个域名,可以免费开启一个 ...

  3. PS对街拍女孩照片增加质感

    看到原图时,我的内心是抗拒的,灰蒙蒙毫无质感可言,手机app大概都拍得比这好看(捂脸笑哭). 大概是因为偏背光,光线暧昧不够强烈,且50 1.4这只镜头锐度还欠佳的缘故.所以平时3天修完图的我,这次拖 ...

  4. php中header函数参数的Cache-control的使用方法

    网页的缓存是由HTTP消息头中的“Cache-control”来控制的,常见的取值有private.no-cache.max-age.must-revalidate等,默认为private.其作用根据 ...

  5. asp.net core Serilog的使用

    先贴上关于使用这个日志组件的一些使用方法,等有时间了在吧官方的文档翻译一下吧,现在真是没时间. Serilog在使用上主要分为两大块: 第一块是主库,包括Serilog以及Serilog.AspNet ...

  6. P1196 [NOI2002]银河英雄传说(带权并查集)

    这个题的题目背景很是宏大,什么宇宙战舰的都出来了.但细细一看,我们就会发现,这是带权并查集的题目,首先我们还是像之前在并查集中的操作一样,但在这里我们还是应该开数组来维护所要加的权值,两个战舰是否在同 ...

  7. Pyspark 使用 Spark Udf 的一些经验

    起初开始写一些 udf 的时候感觉有一些奇怪,在 spark 的计算中,一般通过转换(Transformation) 在不触发计算(Action) 的情况下就行一些预处理.udf 就是这样一个好用的东 ...

  8. ckeditor,关于数据回显

  9. mysql如何直接查出从1开始递增的数

    比如我的一个sql语句 SELECT nick_name FROM t_user ; 得到的结果是:张三李四王五 而现在我想要的结果是:1 张三2 李四3 王五 应该如何写sql呀? 答案就是用 @r ...

  10. Magento2自定义命令

    命令命名准则 命名指南概述 Magento 2引入了一个新的命令行界面(CLI),使组件开发人员能够插入模块提供的命令. Command name Command name 在命令中,它紧跟在命令的名 ...