用户认证:
1.项目下utils文件写auth.py文件

from rest_framework import exceptions
from api import models
from rest_framework.authentication import BaseAuthentication
#还有4个类可以继承
class BasicAuthentication(BaseAuthentication)  可以弹出登录框
class SessionAuthentication(BaseAuthentication):
class TokenAuthentication(BaseAuthentication):
class RemoteUserAuthentication(BaseAuthentication):class Authtication(BaseAuthentication):#用户认证类def authenticate(self,request):#源码方法重写token = request._request.GET.get('token')token_obj = models.UserToken.objects.filter(token=token).first()if not token_obj:raise exceptions.AuthenticationFailed('用户认证失败')#在rest framework内部会将这两个字段赋值给request,以供后续使用return (token_obj.user,token_obj)#认证失败之后返回给浏览器的请求头def authenticate_header(self,request):pass

2、settings配置用户全局认证如下:

'DEFAULT_AUTHENTICATION_CLASSES':['api.utils.auth.Authtication',], #用户全局认证

3.views业务类可以在全局认证外设置单独认证规则

authentication_classes = [] #已设置全局认证,此处即空认证

4.源码认证流程图

5.匿名用户全局配置:

REST_FRAMEWORK = {'UNAUTHENTICATED_USER':None, #匿名,request.user = None 

'UNAUTHENTICATED_TOKEN':None, #匿名,request.auth = None }

转载于:https://www.cnblogs.com/wrxblog/p/10400106.html

「Django」rest_framework学习系列-用户认证相关推荐

  1. php lumen auth,学习 Lumen 用户认证 (一)

    好久没写 PHP 代码了,尤其是 Lumen,我是 Lumen 的忠实用户,自从面世开始,我就将 Lumen 作为我 API 的主要框架使用. 但说到 API,不得不说的一个概念:「前后端分离」,现在 ...

  2. python对文件操作的相关函数_python文件操作的相关函数深入理解Django中内置的用户认证...

    前言 本文主要给大家介绍了关于Django中内置用户认证的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 认证登陆 在进行用户登陆验证的时候,如果是自己写代码,就必须要先查 ...

  3. 【产品经理】日活跃用户「MAU」 和月活跃用户「DAU」

    日活跃用户「MAU」 和月活跃用户「DAU」 1.日活的概念 一天之内打开某产品的用户数(去重),也就是说一个人打开 100 次,即计算为 1 个日活. 但是 100 个人,每人只开 1 次,也计算为 ...

  4. 「AutoML」强化学习如何用于自动模型设计(NAS)与优化?

    作者&编辑 | 言有三 一直以来,网络结构的设计是一个非常需要经验且具有挑战性的工作,研究人员从设计功能更加强大和更加高效的模型两个方向进行研究,随着各类经典网络设计思想的完善,如今要手工设计 ...

  5. AI寒冬论作者再发文:「深」度学习对数据的理解太「浅」了

    http://blog.itpub.net/29829936/viewspace-2641915/ 2019-04-18 14:29:14 AI 寒冬论作者 Filip Piekniewski 再次发 ...

  6. 「栈」的应用系列之「进制转换」

    大家都知道,计算机底层计算采用的是二进制,计算机的数据存储也是采用二进制,在网络上,设备与设备之间的通信,最终还是要通过二进制比特流来实现.可以说,二进制是信息时代的基础.那么大家有没有想过,既然计算 ...

  7. mysql创建全外连接的视图_「MySql学习」Mysql学习系列之常用数据库查询语句

    一.简单查询 简单的Transact-SQL查询只包括选择列表.FROM子句和WHERE子句.它们分别说明所查询列.查询的表或视图.以及搜索条件等.10.5pt;font-family:"A ...

  8. 3分钟了解入门「机器学习」该学习什么?(下)

    本文来自作者 刘明 在 GitChat 上分享「机器学习/深度学习书单推荐及学习方法」,「阅读原文」查看交流实录 「文末高能」 编辑 | 坂本 写在前面 本人是个对数学和人工智能极其感兴趣的人.平时, ...

  9. 关于「无人驾驶」的学习路线...

    来源 | 知乎冰锐 二次排版 | 张巧龙 目前我的研究方向是多传感器融合感知和定位,所以关于这个方向的可能说的多一些. 先上传一张百度Apollo 1.0的全栈工程师的技术图谱吧. 下面进入正题吧! ...

最新文章

  1. iOS多线程全套:线程生命周期,多线程的四种解决方案,线程安全问题,GCD的使用,NSOperation的使用(上)
  2. 如何为回归问题选择最合适的机器学习方法?
  3. ssh开发实战之整合篇
  4. php进程学习(一)
  5. VTK:Filtering之TriangulateTerrainMap
  6. docker容器mysql头文件_在Docker容器中使用MySQL数据库
  7. Android 经典示例,初学者的绝好源码资料
  8. 怎么在百度云上部署php文件,在百度云主机上部署thinkphp5.1的注意事项
  9. 华为私有云的搭建方案_华为云搭建word press
  10. jmeter简单使用
  11. 使用 IIS 进行 ASP.NET 2.0 成员/角色管理(2):实现
  12. C#企业微信邮箱发送邮件问题_Error: authentication failed, system busy
  13. 英国“脱欧”促中国企业调整在欧战略
  14. 如何通过linux的终端命令远程登陆windows主机
  15. win10一直显示无网络连接到服务器,win10的网络为什么会有时显示无法连接到internet...
  16. 如何提高程序员键盘使用效率
  17. scratch3.0加载自己的作品最新版
  18. 涉嫌一级强奸重罪之后,危险的刘强东和京东
  19. Hive-编写UDF函数(详细教程~~~)
  20. 可编程彩灯控制器(8X8点阵)

热门文章

  1. 微信公众号为指定openid用户推送消息
  2. 使用ajax不刷新页面获取、操作数据
  3. java中实现选择文件_Java 实现文件选择对话框及功能
  4. 不同编程语言之间的具体实现对比
  5. Go 学习笔记(70)— Go 变量声明、变量初始化、值类型变量赋值、指针类型变量赋值
  6. SpringCloud Alibaba微服务实战(五) - Sentinel实现限流熔断
  7. java集合中对象某属性比较排序
  8. tensorflow问题
  9. Python 读取文本时的 read/readline/readlines
  10. 受用一生的高效 PyCharm 使用技巧(二)pycharm 指定参数运行文件