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字典get()方法用法分析
Apr 17 Python
分享Python字符串关键点
Dec 13 Python
Python中使用urllib2模块编写爬虫的简单上手示例
Jan 20 Python
Python排序搜索基本算法之冒泡排序实例分析
Dec 09 Python
书单|人生苦短,你还不用python!
Dec 29 Python
python3如何将docx转换成pdf文件
Mar 23 Python
浅谈pandas中shift和diff函数关系
Apr 08 Python
python 读取txt中每行数据,并且保存到excel中的实例
Apr 29 Python
PyCharm 设置SciView工具窗口的方法
Jan 15 Python
Python求正态分布曲线下面积实例
Nov 20 Python
opencv resize图片为正方形尺寸的实现方法
Dec 26 Python
python怎么调用自己的函数
Jul 01 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之变量、常量学习笔记
2008/03/27 PHP
PHP学习之字符串比较和查找
2011/04/17 PHP
php中防止恶意刷新页面的代码小结
2012/10/31 PHP
解析thinkphp基本配置 convention.php
2013/06/18 PHP
PHP实现更新中间关联表数据的两种方法
2014/09/01 PHP
浅析THINKPHP的addAll支持的最大数据量
2015/02/03 PHP
PHP实现Javascript中的escape及unescape函数代码分享
2015/02/10 PHP
Symfony模板的快捷变量用法实例
2016/03/17 PHP
php写一个函数,实现扫描并打印出自定目录下(含子目录)所有jpg文件名
2017/05/26 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
prototype 学习笔记整理
2009/07/17 Javascript
Jquery 弹出层插件实现代码
2009/10/24 Javascript
javascript中的undefined 与 null 的区别  补充篇
2010/03/17 Javascript
jQuery ajax cache缓存问题
2010/07/01 Javascript
js 程序执行与顺序实现详解
2013/05/13 Javascript
使用impress.js制作幻灯片
2015/09/09 Javascript
Angularjs整合微信UI(weui)
2016/03/15 Javascript
用js实现before和after伪类的样式修改的示例代码
2017/09/07 Javascript
js实现敏感词过滤算法及实现逻辑
2018/07/24 Javascript
VSCode launch.json配置详细教程
2020/06/18 Javascript
vue 解决在微信内置浏览器中调用支付宝支付的情况
2020/11/09 Javascript
python单链表实现代码实例
2013/11/21 Python
跟老齐学Python之玩转字符串(2)更新篇
2014/09/28 Python
在Python的Django框架的视图中使用Session的方法
2015/07/23 Python
Python操作Access数据库基本步骤分析
2016/09/19 Python
详解python 字符串和日期之间转换 StringAndDate
2017/05/04 Python
Python中with及contextlib的用法详解
2017/06/08 Python
使用Python向C语言的链接库传递数组、结构体、指针类型的数据
2019/01/29 Python
python输出数组中指定元素的所有索引示例
2019/12/06 Python
Python迷宫生成和迷宫破解算法实例
2019/12/24 Python
基于CSS3特效之动画:animation的应用
2013/05/09 HTML / CSS
解决HTML5手机端页面缩放的问题
2017/10/27 HTML / CSS
Sephora丝芙兰泰国官方网站:国际知名化妆品购物
2017/11/15 全球购物
英国婴儿及儿童产品商店:TigerParrot
2019/03/04 全球购物
美国唇部护理专家:Sara Happ
2019/06/19 全球购物
流动人口婚育证明
2014/10/19 职场文书