一 简介: 用户登录的验证

二 验证机制:
   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. 期末架构-Centos7

    00--linux运维架构演变过程 01--老男孩教育-CentOS6和7 01-笔记 安装系统 系统下载地址:http://mirrors.aliyun.com/centos/7/isos/x86_ ...

  2. PHP命令执行与防范

    命令执行漏洞是指攻击者可以随意执行系统命令,是高危漏洞之一. 命令连接符:&  &&   ||     | 如:ping www.baidu.com && ne ...

  3. tiff图片拆分

    本程序下载地址: tiff格式的图片可以由多张图片合成, 也可以拆分为多张图片.不管是合成或者拆分,都借助了第三方开源库Cximage,对于这个图像库的使用,我们没有必要去一行一行的去看它的代码实现, ...

  4. odoo10.0在odoo12.0环境的基础上搭建环境

    在前边的文章中,讲述了如何搭建12.0的环境,现由业务的需要需要在此基础上搭建基于python2.7的10.0版本. 第一步,安装python2.7 sudo apt- 第二步,安装python-de ...

  5. SpringCloud(7)服务链路追踪Spring Cloud Sleuth

    1.简介 Spring Cloud Sleuth 主要功能就是在分布式系统中提供追踪解决方案,并且兼容支持了 zipkin,你只需要在pom文件中引入相应的依赖即可.本文主要讲述服务追踪组件zipki ...

  6. js实现在光标的位置 添加内容

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  7. 【XSY2990】树 组合数学 容斥

    题目描述 同 Comb Avoiding Trees 不过只用求一项. \(n,k\leq {10}^7\) 题解 不难发现一棵 \(n\) 个叶子的树唯一对应了一个长度为 \(2n-2\) 的括号序 ...

  8. 并发容器学习—ConcurrentSkipListMap与ConcurrentSkipListSet 原

    一.ConcurrentSkipListMap并发容器 1.ConcurrentSkipListMap的底层数据结构     要学习ConcurrentSkipListMap,首先要知道什么是跳表或跳 ...

  9. spring boot junit controller

    MockMvc 来自Spring Test,它允许您通过一组方便的builder类向 DispatcherServlet 发送HTTP请求,并对结果作出断言.请注意,@AutoConfigureMoc ...

  10. Zookeeper与Curator二三事【坑爹】

    起因:我的Dubbo服务起不来:我本地Zookeeper3.4.11,Curator4.1 Caused by: org.apache.zookeeper.KeeperException$Unimpl ...