Django自定义认证方式用法示例


Posted in Python onJune 23, 2017

本文实例讲述了Django自定义认证方式。分享给大家供大家参考,具体如下:

创建登录应用

首先创建一个新的login app,用来存放认证用到代码

python manage.py startapp login

修改settings.py中的认证项

AUTHENTICATION_BACKENDS = (
  'login.auth.UsernamePasswordAuth',
)

自定义认证类

在login app下创建auth.py文件,内容如下

#coding:utf-8
from django.contrib.auth.models import User
class UsernamePasswordAuth(object):
  def authenticate(self, username=None, password=None):
    print("UsernamePasswordAuth.authenticate")
    try:
      user = User.objects.get(username__iexact=username)
      if user.check_password(password):
        return user
    except User.DoesNotExist:
      return None
  def get_user(self, user_id):
    print("UsernamePasswordAuth.get_user")
    try:
      user = User.objects.get(pk=user_id)
      return user
    except User.DoesNotExist:
      return None

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
对于Python编程中一些重用与缩减的建议
Apr 14 Python
连接Python程序与MySQL的教程
Apr 29 Python
python从入门到精通(DAY 3)
Dec 20 Python
Python编程pygame模块实现移动的小车示例代码
Jan 03 Python
python字典快速保存于读取的方法
Mar 23 Python
python实现遍历文件夹修改文件后缀
Aug 28 Python
python制作填词游戏步骤详解
May 05 Python
python opencv对图像进行旋转且不裁剪图片的实现方法
Jul 09 Python
关于python中密码加盐的学习体会小结
Jul 15 Python
python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例
Feb 27 Python
Python要求O(n)复杂度求无序列表中第K的大元素实例
Apr 02 Python
Python Numpy库的超详细教程
Apr 06 Python
Django实现的自定义访问日志模块示例
Jun 23 #Python
详解Python文本操作相关模块
Jun 22 #Python
python字符串过滤性能比较5种方法
Jun 22 #Python
Python编程实现的简单Web服务器示例
Jun 22 #Python
Python实现复杂对象转JSON的方法示例
Jun 22 #Python
Collatz 序列、逗号代码、字符图网格实例
Jun 22 #Python
基于Python3 逗号代码 和 字符图网格(详谈)
Jun 22 #Python
You might like
php 图片上添加透明度渐变的效果
2009/06/29 PHP
php去掉字符串的最后一个字符附substr()的用法
2011/03/23 PHP
Thinkphp连表查询及数据导出方法示例
2016/10/15 PHP
[原创]PHP获取数组表示的路径方法分析【数组转字符串】
2017/09/01 PHP
javascript[js]获取url参数的代码
2007/10/17 Javascript
showModalDialog在谷歌浏览器下会返回Null的解决方法
2013/11/27 Javascript
JavaScript中的ubound函数使用实例
2014/11/04 Javascript
javascript常用代码段搜集
2014/12/04 Javascript
JavaScript实现twitter puddles算法实例
2014/12/06 Javascript
nodejs中简单实现Javascript Promise机制的实例
2014/12/06 NodeJs
jQuery选择器源码解读(二):select方法
2015/03/31 Javascript
一次$.getJSON不执行的简单记录
2016/07/19 Javascript
Angularjs使用指令做表单校验的方法
2017/03/31 Javascript
jQuery+pjax简单示例汇总
2017/04/21 jQuery
JavaScript 数组的进化与性能分析
2017/09/18 Javascript
vue项目优化之通过keep-alive数据缓存的方法
2017/12/11 Javascript
浅谈Javascript中的对象和继承
2019/04/19 Javascript
微信小程序中如何计算距离某个节日还有多少天
2019/07/15 Javascript
vue+element使用动态加载路由方式实现三级菜单页面显示的操作
2020/08/04 Javascript
[09:13]DOTA2-DPC中国联赛 正赛 Ehome vs Magma 选手采访 1月19日
2021/03/11 DOTA
Python标准库shutil用法实例详解
2018/08/13 Python
Python实现网站表单提交和模板
2019/01/15 Python
Python将列表数据写入文件(txt, csv,excel)
2019/04/03 Python
Tensorflow 卷积的梯度反向传播过程
2020/02/10 Python
python logging设置level失败的解决方法
2020/02/19 Python
python 基于selectors库实现文件上传与下载
2020/12/31 Python
如何在vscode中安装python库的方法步骤
2021/01/06 Python
The Outnet亚太地区:折扣设计师时装店
2019/12/05 全球购物
银行工作检查书范文
2014/01/31 职场文书
会计学自我鉴定
2014/02/06 职场文书
法语专业求职信
2014/07/20 职场文书
2014年质检员工作总结
2014/11/18 职场文书
教师信息技术学习心得体会
2016/01/21 职场文书
升职感谢领导的话语及升职感谢信
2019/06/24 职场文书
关于k8s环境部署mysql主从的问题
2022/03/13 MySQL
Python 第三方库 openpyxl 的安装过程
2022/12/24 Python