首页 > 其他分享 >django2.x -- auth模块的authenticate方法一直返回None,认证不成功

django2.x -- auth模块的authenticate方法一直返回None,认证不成功

时间:2022-08-26 10:02:06浏览次数:67  
标签:None authenticate -- create auth user password check

创建用户时是否使用的是create_user
在账号注册的时候,要用objects.create_user()函数,create()是明文存储

  • create_user()这个函数会将密码自动加密,密文存储,加密规则“pbkdf2_sha256”
  • authenticate()会将输入的明文密码,自动加密,然后去数据库匹配,如果匹配成功返回一个user对象,如果不成功,返回None。
点击查看代码
    User.objects.create_user(username, email, password)
    authenticate(username=username, password=password)

django2.x版本问题
Django2.X中,authenticate将is_active关联了,当is_active=0时,默认验证不通过,所以返回None。

  1. 解决办法:在项目的settings.py中申明,不关联is_active这个值。
  • settings.py
点击查看代码
    # 让authenticate不关联is_active
    AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.AllowAllUsersModelBackend']
  1. 用check_password来解决
    auth内置check_password()函数, 也可以用于测试密码是否正确。
    该方法仅在以上authenticate函数无效情况下使用
点击查看代码
from django.contrib.auth.hashers import check_password

# 第一个参数为明文密码,第二个参数为加密后的密码
if check_password(password, pwd):
    # 用户名密码正确
    pass

标签:None,authenticate,--,create,auth,user,password,check
From: https://www.cnblogs.com/mwj-blog1/p/16626575.html

相关文章

  • S/4 HANA 中的 Email Template
    电子邮件是非常常见的业务需求。SAP了解这一点,并在S/4HANA(cloud和onpremise)中引入了非常有趣的功能——EmailTemplate。在本文中,我将提供EmailTemplate的概述和演......
  • PS软件下载,Photoshop 2021 for mac(PS2021)中文版
    Photoshop2021formac是一款专业的图片处理工具和设计应用程序,设计师必备工具。可以用于创建和增强照片、插图和3D图稿,设计网站和移动应用程序,编辑视频,模拟真实的绘画等......
  • #前端算法救赎系列#LeetCode03.无重复字符的最长子串
    3.无重复字符的最长子串给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。示例1:输入:s="abcabcbb"输出:3解释:因为无重复字符的最长子串是......
  • 注意力机制的一些变体
    1.硬性注意力机制在经典注意力机制章节我们使用了一种软性注意力的方式进行Attention机制,它通过注意力分布来加权求和融合各个输入向量。而硬性注意力(HardAttention)机......
  • 杭州XX公司脱扣设备检测
    一台10多年前的测试设备,最近一天有几十次没反应,界面卡死,要关掉程序重新打开才可以。重点检查和仪表和串口打交道的部分,功率表,PLC,电源,转速表,PCI卡,查看代码,把频繁开关串口......
  • vim中yy和y$的区别是什么?
    你这是完全理解错了。yy和y$的差别不是通过“多复制什么”来实现的,而是vim自己的特定逻辑。你用"+yy或者"*yy把一行复制进剪贴板然后在其他应用里粘贴,就不会有vim里“......
  • 1706C - Qpwoeirut And The City
    /**|~~~~~~~|*||*||*......
  • 最新小红书数据 小红书爬虫 小红书接口 xhs 小红书api
    小红书数据小红书接口小红书api(小红书爬虫xhsxiaohongshu红书)最新小红书APP接口稳定运行,主流接口都已部署,支持并发请求!只抓取公开数据供作学习用途,不做引流上赞上......
  • EasyPlayer.js集成时页面报错出现“X”,该如何解决?
    在上几期的文章中,我们介绍了关于EasyPlayer流媒体播放器最近更新的一些功能和细节优化,包括网页实时录像、ios端低延迟直播,以及如何删除或替换播放器loading样式等,感兴趣的......
  • js去掉字符串的空格
    1、trim方法:过滤字符串两端的空格varstr="666";console.log(str.trim());//666trim()是最常用的方法,也是最方便的方法。2、replace方法(正则表达式)let......