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代码实例
Feb 04 Python
python查看FTP是否能连接成功的方法
Jul 30 Python
学习python类方法与对象方法
Mar 15 Python
高效测试用例组织算法pairwise之Python实现方法
Jul 19 Python
django 多数据库配置教程
May 30 Python
python中的变量如何开辟内存
Jun 26 Python
对python字典元素的添加与修改方法详解
Jul 06 Python
python+pyqt5实现24点小游戏
Jan 24 Python
使用Python自动化破解自定义字体混淆信息的方法实例
Feb 13 Python
django 数据库连接模块解析及简单长连接改造方法
Aug 29 Python
关于Python中定制类的比较运算实例
Dec 19 Python
Python写情书? 10行代码展示如何把情书写在她的照片里
Apr 21 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
从网上搜到的phpwind 0day的代码
2006/12/07 PHP
php生成SessionID和图片校验码的思路和实现代码
2009/03/10 PHP
php+mysql实现数据库随机重排实例
2014/10/17 PHP
php 静态属性和静态方法区别详解
2017/04/09 PHP
封装好的省市地区联动控件附下载
2007/08/13 Javascript
juqery 学习之三 选择器 子元素与表单
2010/11/25 Javascript
jQuery JSON的解析方式分享
2011/04/05 Javascript
jquery自定义函数的多种方法
2014/01/09 Javascript
JS通过分析userAgent属性来判断浏览器的类型及版本
2014/03/28 Javascript
动态载入js提高网页打开速度的方法
2014/07/04 Javascript
微信小程序 swiper制作tab切换实现附源码
2017/01/21 Javascript
详解如何构建Angular项目目录结构
2017/07/13 Javascript
详解JS中的this、apply、call、bind(经典面试题)
2017/09/19 Javascript
AngularJS表单验证功能
2017/10/19 Javascript
完美解决手机网页中输入框被输入法遮挡的问题
2017/12/19 Javascript
微信小程序实现选项卡效果
2018/11/06 Javascript
详解从NodeJS搭建中间层再谈前后端分离
2018/11/13 NodeJs
p5.js临摹动态图形的方法
2019/10/23 Javascript
基于JavaScript实现轮播图效果
2021/01/02 Javascript
python 编码规范整理
2018/05/05 Python
Python安装lz4-0.10.1遇到的坑
2018/05/20 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
2018/09/13 Python
Django中数据库的数据关系:一对一,一对多,多对多
2018/10/21 Python
python制作图片缩略图
2019/04/30 Python
python PyQt5/Pyside2 按钮右击菜单实例代码
2019/08/17 Python
python实现贪吃蛇游戏源码
2020/03/21 Python
Python3创建Django项目的几种方法(3种)
2020/06/03 Python
python学习笔记之多进程
2020/08/06 Python
详解CSS3中使用gradient实现渐变效果的方法
2015/08/18 HTML / CSS
联想马亚西亚官方网站:Lenovo Malaysia
2018/09/19 全球购物
交通专业个人自荐信格式
2013/09/23 职场文书
大学毕业感言50字
2014/02/07 职场文书
幼儿园园长安全责任书
2015/05/08 职场文书
2015年信息宣传工作总结
2015/05/26 职场文书
Go Plugins插件的实现方式
2021/08/07 Golang
Python接口自动化之文件上传/下载接口详解
2022/04/05 Python