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 过滤字符串的技巧,map与itertools.imap
Sep 06 Python
Python语言编写电脑时间自动同步小工具
Mar 08 Python
Python是编译运行的验证方法
Jan 30 Python
python从网络读取图片并直接进行处理的方法
May 22 Python
Python如何为图片添加水印
Nov 25 Python
Python自定义函数计算给定日期是该年第几天的方法示例
May 30 Python
使用 Python 快速实现 HTTP 和 FTP 服务器的方法
Jul 22 Python
PyQt Qt Designer工具的布局管理详解
Aug 07 Python
NumPy排序的实现
Jan 21 Python
Scrapy框架实现的登录网站操作示例
Feb 06 Python
Python实现删除某列中含有空值的行的示例代码
Jul 20 Python
Django DRF APIView源码运行流程详解
Aug 17 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写的一个冒泡排序法的函数简单实例
2016/05/26 PHP
PHP简单读取PDF页数的实现方法
2016/07/21 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
2021/03/09 PHP
js鼠标点击事件在各个浏览器中的写法及Event对象属性介绍
2013/01/24 Javascript
jQuery cdn使用介绍
2013/05/08 Javascript
js利用数组length属性清空和截短数组的小例子
2014/01/15 Javascript
在JavaScript中操作数组之map()方法的使用
2015/06/09 Javascript
JavaScript中实现map功能代码分享
2015/06/11 Javascript
VUEJS实战之构建基础并渲染出列表(1)
2016/06/13 Javascript
BootStrap便签页的简单应用
2017/01/06 Javascript
vue使用Google地图的实现示例代码
2018/12/19 Javascript
微信小程序实现分享朋友圈的图片功能示例
2019/01/18 Javascript
微信小程序实现左右列表联动
2020/05/19 Javascript
Node.js如何优雅的封装一个实用函数的npm包的方法
2019/04/29 Javascript
vue.js中导出Excel表格的案例分析
2019/06/11 Javascript
vue移动端使用canvas签名的实现
2020/01/15 Javascript
Vue项目中使用flow做类型检测的方法
2020/03/18 Javascript
Python编程二分法实现冒泡算法+快速排序代码示例
2018/01/15 Python
python+matplotlib实现礼盒柱状图实例代码
2018/01/16 Python
python+matplotlib绘制饼图散点图实例代码
2018/01/20 Python
python向已存在的excel中新增表,不覆盖原数据的实例
2018/05/02 Python
pandas 如何分割字符的实现方法
2019/07/29 Python
适合各种场合的美食礼品:Harry & David
2016/08/03 全球购物
Origins加拿大官网:雅诗兰黛集团高端植物护肤品牌
2017/11/19 全球购物
AP澳洲中文网:澳洲正品直邮,包税收件无忧
2019/07/12 全球购物
美国尼曼百货官网:Neiman Marcus
2019/09/05 全球购物
酒店led欢迎词
2014/01/09 职场文书
业务员薪酬管理制度
2014/01/15 职场文书
优秀党员主要事迹
2014/01/19 职场文书
竞选班干部的演讲稿
2014/04/24 职场文书
岗位标兵事迹材料
2014/05/17 职场文书
中学生检讨书1000字
2014/10/28 职场文书
《我和小伙伴》教学反思
2016/02/20 职场文书
将图片保存到mysql数据库并展示在前端页面的实现代码
2021/05/02 MySQL
spring注解 @PropertySource配置数据源全流程
2022/03/25 Java/Android
Golang 1.18 多模块Multi-Module工作区模式的新特性
2022/04/11 Golang