首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Django中实现使用userid和密码的自定义用户认证

在本教程中,我们将详细介绍如何在Django中实现自定义用户认证,使用包含userid字段的CustomUser模型以及标准的密码认证。本教程假设您已经对Django有基本的了解并且已经设置好了项目。...概述设置和配置定义包含userid字段的CustomUser模型。创建自定义认证后端,用于使用userid认证用户。配置Django设置以使用自定义认证后端。...配置Django设置在settings.py中配置Django设置,以使用自定义认证后端。...中使用包含userid字段的CustomUser模型来实现自定义用户认证。...通过以下步骤,您完成了:定义包含额外字段的自定义用户模型。创建自定义认证后端以使用userid进行用户认证。配置Django设置以使用自定义认证后端。

32720

美多商城前三天重点内容大盘点

美多商城前三天重点内容大盘点 文章导航 1.自定义Django认证系统用户模型类 2.跨域请求 3.celery异步任务发短信 4.JWT认证机制 5.自定义jwt扩展登录视图响应数据函数 6.自定义Django...认证后端类(登录账户支持用户名和手机号) 7.QQ登录开发流程(流程图,可以自己画一下) 1.自定义Django认证系统用户模型类 1.1Django自带模型类介绍 Django中其实提供了用户模型类User...Django提供的用户模型类是 django.contrib.auth.models.AbstractUser,我们导入便可使用。...1.2自定义用户模型类步骤 我们在编写子应用的目录apps中创建Django应用users,并在配置文件中注册users应用。 在创建好的应用models.py中定义用户的用户模型类。...= verbose_name 我们自定义的用户模型类还不能直接被Django的认证系统所识别,需要在配置文件中告知Django认证系统使用我们自定义的模型类。

79220
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    在tensorflow2.2中使用Keras自定义模型的指标度量

    在本文中,我将使用Fashion MNIST来进行说明。然而,这并不是本文的唯一目标,因为这可以通过在训练结束时简单地在验证集上绘制混淆矩阵来实现。...在训练中获得班级特定的召回、精度和f1至少对两件事有用: 我们可以看到训练是否稳定,每个类的损失在图表中显示的时候没有跳跃太多 我们可以使用一些技巧-早期停止甚至动态改变类权值。...自tensorflow 2.2以来,添加了新的模型方法train_step和test_step,将这些定制度量集成到训练和验证中变得非常容易。...还有一个关联predict_step,我们在这里没有使用它,但它的工作原理是一样的。 我们首先创建一个自定义度量类。...由于tensorflow 2.2,可以透明地修改每个训练步骤中的工作(例如,在一个小批量中进行的训练),而以前必须编写一个在自定义训练循环中调用的无限函数,并且必须注意用tf.功能启用自动签名。

    2.5K10

    JWT 的 Token 过期时间为什么没有生效

    在我第一次在 DRF(Django REST Framework)中使用 JWT 时,感觉 JWT 非常神奇,它即没有使用 session、cookie,也不使用数据库,仅靠一段加密的字符串,就解决了用户身份验证的烦恼...当时遇到的问题就是,无论怎么设置 JWT TOKEN 的过期时间,都没有生效,即使设置为 1 秒后过期,过了 1 分钟,TOKEN 还是可以正常使用,重启 Django 服务也不行。...在 DRF 中,配置了 DEFAULT_AUTHENTICATION_CLASSES 就是 JWT: 直接定位至这个类,发现它继承了 BaseJSONWebTOKENAuthentication 然后看...至此,JWT 的原理已经非常清晰了: 用户第一次登录时,服务器(JWT)会获得用户名、用户 id,在加上设置的过期时间构建 payload: payload = { 'user_id':...很多开源软件设计模式的应用都非常值得我们学习,比如 DRF 的模块设计,通过 mixins 组合来实现灵活可扩展的 APIView,通过子类传入相关的 class 来实现用户自定义的功能。

    2.5K30

    美多商城项目(三)

    12.我们的服务器根据openid判断是否绑定过本网站用户(查一下我们数据库中的表)。 13.如果绑定过,我们的服务器直接签发jwt token并返回给客户端。...可以生成带有有效期的token from itsdangerous import TimedJSONWebSignatureSerializer as Serializer from django.conf...6.重点内容 1.自定义Django认证系统用户模型类 2.跨域请求 3.celery异步任务发短信 4.JWT认证机制 5.自定义jwt扩展登录视图响应数据函数 6.自定义Django认证后端类(登录账户支持用户名和手机号...优质文章推荐: 公众号使用指南 redis操作命令总结 前端中那些让你头疼的英文单词 Flask框架重点知识总结回顾 项目重点知识点详解 难点理解&面试题问答 flask框架中的一些常见问题...团队开发注意事项 浅谈密码加密 Django框架中的英文单词 Django中数据库的相关操作 DRF框架中的英文单词

    90840

    Python进阶43-drf框架(五)

    群查过滤组件前戏 群查之搜索过滤组件 群查之排序过滤组件 基础分页组件 偏移分页器 自定义过滤器 游标分页器(了解) Django过滤器插件 django-filter重点使用方法...# 完成数据的校验,会走序列化类的 全局钩子校验规则,校验得到登录用户并签发token存储在序列化对象中 核心源码:rest_framework_jwt.serializer.JSONWebTokenSerializer... 邮箱登录  因为没有手机号,所以无法使用手机登录  群查数据准备 ---- 模型层 from django.db import models ## 用户表:角色groups...先在api目录下的filter.py文件中中自定义一个类 ## django-filter插件过滤器类 from django_filters.rest_framework import FilterSet...重点使用方法 ---- 自定义过滤字段 api目录下的filter.py文件中 ## django-filter插件过滤器类 from django_filters.rest_framework import

    3.1K20

    Django(72)Django认证系统库–djoser「建议收藏」

    djoser库提供了一组Django Rest Framework视图,用于处理注册、登录、注销、密码重置和帐户激活等基本操作。它适用于自定义用户模型。...并且强烈反对且不提供任何对basic auth的明确支持。我们应该按照“身份验证后端”中的说明来自定义身份验证后端。 测试程序 该库还提供了一个独立的测试应用程序,让我们了解基本的工作方式。...用户登录 我们访问用户登录接口,就可以返回一个token 登录后查询用户信息 然后我们在headers中添加Authorization,对应的值为Token 刚刚返回的token值,注意中间要有一个空格...使用方式 在INSTALLED_APPS 中添加rest_framework.authtoken INSTALLED_APPS = [ 'django.contrib.auth', (....使用授权时的请求头中的请求标识,格式为:JWT ,配置信息如下: SIMPLE_JWT = { 'AUTH_HEADER_TYPES': ('JWT',), } 最后在

    2K20

    给你一个优秀的Django工程模板

    在settings.py文件中把apps添加到环境变量中 ? 修改语言和时区 ? 修改manage.py文件 将Django环境变量设置为开发环境 ?...增加多数据库配置 在xingxing目录下增加router.py文件 路由配置文件当中的返回值是我们在DATABASES中配置的键,默认是default,按照一定的条件返回不同的键,每个键内配置不同的数据库连接...文件中增加路由配置 DATABASE_ROUTERS = ['xingxing.router.CustomRouter'] 设置自定义用户模型 在apps下增加users应用 在models.py下增加如下内容...登录认证 我们使用rest api接口,一般就很少使用用户名和密码认真,jwt认证是比较常用的,因此这也是项目初始化必须做的。...中设置自定义认证方式 AUTHENTICATION_BACKENDS = ['utils.user_backend.UserBackend'] Django日志记录 在settings.py中增加如下配置

    1.7K21

    美多商城项目(二)

    1.2注意小点 1.序列化器类定义时的参数 write-only 只在反序列化时使用 read-only 只在序列化时使用 上面的 write-only和 read-only默认都是False,...2.补充验证: a.在字段中添加 validators选项参数 b.对 字段进行验证 c.在序列化器中需要同时对多个字段进行比较验证时,可以定义 validate方法来验证。...c.signature(签名) 作用:防止将jwt token被伪造 1.签名的生成过程 答:服务器在生成jwt token时,会将header和payload字符串进行拼接,用 .隔开,然后使用一个只有服务器知道的密钥对拼接后的内容进行加密...pass 指定Django认证后端类: AUTHENTICATION_BACKENDS = ['自定义Django认证后端类'] 3.2QQ登录 效果: 当使用QQ账户登录的时候,会判断QQ账户和网站用户是否进行绑定...团队开发注意事项 浅谈密码加密 Django框架中的英文单词 Django中数据库的相关操作 DRF框架中的英文单词

    1.1K30

    DRF JWT认证(二)

    目录 DRF JWT认证(二) django中快速使用JWT 如何签发? 如何认证?...定制签发token返回格式 JWT源码分析 签发源码分析 认证源码分析 签发源码内的其他两个类 自定义User表,签发token 普通写法,视图类写 序列化类中写逻辑 自定义认证类 补充:HttpRequest.META.../ django中快速使用JWT 导入:pip3 install djangorestframework-jwt 如何签发?...源码中签发校验都在序列化类中完成,这种写法确实比较常用,我们来使用这种方式自定义,将上面视图的校验逻辑写到序列化类中,这个序列化类只用来做反序列化,这样我们就可以利用 反序列化 的字段校验功能来帮助我们校验...串的第二段载荷中,可以通过base64解码获取到用户信息 补充:HttpRequest.META HTTP请求的数据在META中 HttpRequest.META   一个标准的Python 字典,

    1.1K20

    学习版pytest内核测试平台开发万字长文入门篇

    登录没有做用户名和密码校验,新增用户时才会做校验。 在创建登录界面时,从localStorage中移除userInfo和token,登录信息保留7天: ?...由于新增用户和用户列表展示的字段不一样,所以给同一个User模型创建了2个序列化器。图中标红了代码是把int的id值转化为了str类型,方便前端处理。...在新增用户的时候,需要从角色列表中选择角色,需要后端提供这样的接口,使用ListAPIView: ?...修改密码时,会对jwt进行解码,获取到user_id,然后检查老密码是否和数据库中的密码hash值一致。 前后端联调 根据以上思路把前后端的代码写完以后,就可以把项目跑起来看看效果了。...切换分页,刷新列表,选择不同分页条数,正常计算显示相应的分页总数。 找到自定义密码的用户,点击重置密码,重置成功后,重新登录,使用自定义密码登录失败,使用默认密码qa123456登录成功。

    5K30

    Django+Vue开发生鲜电商平台之7.用户登录和注册功能

    一、DRF的token基本使用 1.DRF的token登录原理 基于DRF的前后端分离登录与单独使用Django登录的原理不同,不再需要CSRF验证,DRF提供了许多开箱即用的身份验证方案,并且还允许实现自定义方案...原理 JSON Web Token (简称JWT),是目前最流行的跨域身份验证解决方案,使用基于Token的身份验证方法,在服务端不需要存储用户的登录记录。...2.使用JWT完成用户认证 在DRF中使用JWT需要先安装依赖库,直接在虚拟环境中使用命令pip install djangorestframework-jwt安装即可。...可以看到,在登录之前,state中name和token均为空,登录之后即变为当前用户的用户名和JWT。...在用户进行登录提交后,通过对用户名和密码进行比对,但是如果通过手机号码登录,就可能失败,因为登录时obtain_jwt_token查询数据库默认查询的是用户名和密码,而未查询手机号码,因此需要自定义用户认证方法

    4.5K20

    DRF比Django的认证和权限高在哪里

    同时重写save方法,在同步数据库的时候,使用pygments包把code格式化后存到highlighted字段。...models.py 直接使用Django默认User模型,不需要修改代码。...我们的请求中并没有用户信息,正常来说在访问视图的时候就该被拦截了。 给视图添加认证 我们需要让API更符合常规,让未认证的用户不能执行视图中的代码。...其他认证方式 本文使用的认证方式是默认的SessionAuthentication和BasicAuthentication,只要数据库的用户名、密码和请求中的用户凭证(用户名、密码)匹配上了,就认为认证成功...这块的内容比Django的认证系统那套简洁,但是有点混淆,另外我之前参照网上实现了一版JWT,也有点不一样。看来还得写篇对比的文章才行。

    1.5K20

    JWT原理构成与使用(带案例简单易懂)

    流程: 服务器使用用户名和密码来请求服务器 服务器验证用户信息 服务器通过验证发送给用户一个token 客户端存储token,并在每次请求时附送上这个token值 客户端验证token,并返回数据 这个...如果可以,请使用https协议 Django REST framework JWT 我们在验证完用户的身份后(校验用户名和密码),需要向用户签发JWT,在需要用到用户身份信息的时候,还需要校验用户的JWT...': 'utils.jwt_response.jwt_response_payload_handler', } 增加支持管理员用户登录账号 JWT扩展的登录视图,在收到用户名与密码时,也是调用Django...重写authenticate方法的思路: 根据username参数查找用户User对象,在查询条件中在加上is_staff=True的条件 若查找到User对象,调用User对象的check_password...if user.checkt_password(password): return user return None 在配置文件中告知Django使用我们自定义的认证后端 #认证后端 AUTHENTICATION_BACKENDS

    91020

    说说web应用程序中的用户认证

    那么问题来了,使用 Django Rest Framework 框架实现后端 REST API 时,如何做好用户认证呢?...在 Django Rest Framework 中,认证功能是可插拨的,非常方便。REST框架提供了现成的身份验证方案,如下。并且还允许您实现自定义方案。...3、SessionAuthentication 此身份验证方案使用 Django 的默认会话后端进行身份验证。会话身份验证适用于在与您的网站相同的会话上下文中运行的 AJAX 客户端。...前端在每次请求时将 JWT 放入 HTTP Header 中的 Authorization 位。(解决XSS 和 XSRF 问题) 后端检查是否存在,如存在,则验证 JWT 的有效性。...例如,检查签名是否正确;检查 Token 是否过期;检查 Token 的接收方是否是自己(可选)。 验证通过后后端使用 JWT 中包含的用户信息进行其他逻辑操作,返回相应结果。

    2.2K20

    项目重要技术点介绍

    6.jwt认证机制? 答:对于jwt token的认证机制,在用户登录时,服务器会签发( 生成)一个jwt token字符串。...在美多商城项目中,使用Docker搭建FDFS文件存储系统,同时为了Admin界面能够直接上传文件到FDFS文件存储系统中(因为默认是存储在服务器上的),自定义了Django框架文件存储类。...6. redis redis数据库是非关系型数据库,将数据存储在缓存中,读取速度快是其最大的优点。在Django中需要引入第三方扩展django-redis来使用。...注:在Django框架中,通过Admin站点修改对应数据表的数据时,该数据表对应模型类Admin管理类中的savemodel和deletemodel会被调用。...相关的技术点比较多:包括Django认证系统,云通讯发送短信验证码,celery异步任务队列,自定义Django认证后端类,jwt认证机制,QQ登录,邮件发送和数据缓存的使用。

    2.4K20

    美多商城项目(十一)

    之前我们的注册登录和QQ绑定用户时没有图片验证码的校验,所以我们将添加的逻辑代码放到一个if语句判断中。前端发送图片验证码是通过get请求,以查询字符串的形式向后端传递图片验证码。...使用 itsdangerous 生成凭据 access_token,使用 TimedJSONWebSignatureSerializer 可以生成带有有效期的 token。...access_token; 2.在模型类中定义验证 token 的方法,使用 itdangerous 提供的方法进行反验证,取出存在token 中的手机号,进行判断是否在 60s 内,防止重复发送; 3...1.在模型类中实现检验修改密码 token 的方法,取出 data,判断 user_id 是否一样; 2.定义重置密码序列化器,判断两次密码是否一样,判断是否是当前用户,返回数据; 3.调用 updata...团队开发注意事项 浅谈密码加密 Django框架中的英文单词 Django中数据库的相关操作 DRF框架中的英文单词 重点内容回顾-DRF Django相关知识点回顾 美多商城项目导航帖

    1.5K11
    领券