「Django」rest_framework学习系列-用户认证
用户认证:
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学习系列-用户认证相关推荐
- php lumen auth,学习 Lumen 用户认证 (一)
好久没写 PHP 代码了,尤其是 Lumen,我是 Lumen 的忠实用户,自从面世开始,我就将 Lumen 作为我 API 的主要框架使用. 但说到 API,不得不说的一个概念:「前后端分离」,现在 ...
- python对文件操作的相关函数_python文件操作的相关函数深入理解Django中内置的用户认证...
前言 本文主要给大家介绍了关于Django中内置用户认证的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 认证登陆 在进行用户登陆验证的时候,如果是自己写代码,就必须要先查 ...
- 【产品经理】日活跃用户「MAU」 和月活跃用户「DAU」
日活跃用户「MAU」 和月活跃用户「DAU」 1.日活的概念 一天之内打开某产品的用户数(去重),也就是说一个人打开 100 次,即计算为 1 个日活. 但是 100 个人,每人只开 1 次,也计算为 ...
- 「AutoML」强化学习如何用于自动模型设计(NAS)与优化?
作者&编辑 | 言有三 一直以来,网络结构的设计是一个非常需要经验且具有挑战性的工作,研究人员从设计功能更加强大和更加高效的模型两个方向进行研究,随着各类经典网络设计思想的完善,如今要手工设计 ...
- AI寒冬论作者再发文:「深」度学习对数据的理解太「浅」了
http://blog.itpub.net/29829936/viewspace-2641915/ 2019-04-18 14:29:14 AI 寒冬论作者 Filip Piekniewski 再次发 ...
- 「栈」的应用系列之「进制转换」
大家都知道,计算机底层计算采用的是二进制,计算机的数据存储也是采用二进制,在网络上,设备与设备之间的通信,最终还是要通过二进制比特流来实现.可以说,二进制是信息时代的基础.那么大家有没有想过,既然计算 ...
- mysql创建全外连接的视图_「MySql学习」Mysql学习系列之常用数据库查询语句
一.简单查询 简单的Transact-SQL查询只包括选择列表.FROM子句和WHERE子句.它们分别说明所查询列.查询的表或视图.以及搜索条件等.10.5pt;font-family:"A ...
- 3分钟了解入门「机器学习」该学习什么?(下)
本文来自作者 刘明 在 GitChat 上分享「机器学习/深度学习书单推荐及学习方法」,「阅读原文」查看交流实录 「文末高能」 编辑 | 坂本 写在前面 本人是个对数学和人工智能极其感兴趣的人.平时, ...
- 关于「无人驾驶」的学习路线...
来源 | 知乎冰锐 二次排版 | 张巧龙 目前我的研究方向是多传感器融合感知和定位,所以关于这个方向的可能说的多一些. 先上传一张百度Apollo 1.0的全栈工程师的技术图谱吧. 下面进入正题吧! ...
最新文章
- iOS多线程全套:线程生命周期,多线程的四种解决方案,线程安全问题,GCD的使用,NSOperation的使用(上)
- 如何为回归问题选择最合适的机器学习方法?
- ssh开发实战之整合篇
- php进程学习(一)
- VTK:Filtering之TriangulateTerrainMap
- docker容器mysql头文件_在Docker容器中使用MySQL数据库
- Android 经典示例,初学者的绝好源码资料
- 怎么在百度云上部署php文件,在百度云主机上部署thinkphp5.1的注意事项
- 华为私有云的搭建方案_华为云搭建word press
- jmeter简单使用
- 使用 IIS 进行 ASP.NET 2.0 成员/角色管理(2):实现
- C#企业微信邮箱发送邮件问题_Error: authentication failed, system busy
- 英国“脱欧”促中国企业调整在欧战略
- 如何通过linux的终端命令远程登陆windows主机
- win10一直显示无网络连接到服务器,win10的网络为什么会有时显示无法连接到internet...
- 如何提高程序员键盘使用效率
- scratch3.0加载自己的作品最新版
- 涉嫌一级强奸重罪之后,危险的刘强东和京东
- Hive-编写UDF函数(详细教程~~~)
- 可编程彩灯控制器(8X8点阵)
热门文章
- 微信公众号为指定openid用户推送消息
- 使用ajax不刷新页面获取、操作数据
- java中实现选择文件_Java 实现文件选择对话框及功能
- 不同编程语言之间的具体实现对比
- Go 学习笔记(70)— Go 变量声明、变量初始化、值类型变量赋值、指针类型变量赋值
- SpringCloud Alibaba微服务实战(五) - Sentinel实现限流熔断
- java集合中对象某属性比较排序
- tensorflow问题
- Python 读取文本时的 read/readline/readlines
- 受用一生的高效 PyCharm 使用技巧(二)pycharm 指定参数运行文件