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基础教程之简单入门说明(变量和控制语言使用方法)
Mar 25 Python
Python实现将绝对URL替换成相对URL的方法
Jun 28 Python
Python设计模式编程中解释器模式的简单程序示例分享
Mar 02 Python
Python爬虫工程师面试问题总结
Mar 22 Python
python中for用来遍历range函数的方法
Jun 08 Python
python实现机器学习之元线性回归
Sep 06 Python
详解Python with/as使用说明
Dec 13 Python
使用Python Pandas处理亿级数据的方法
Jun 24 Python
Django中celery执行任务结果的保存方法
Jul 12 Python
python使用yield压平嵌套字典的超简单方法
Nov 02 Python
Python random模块制作简易的四位数验证码
Feb 01 Python
PyTorch 如何自动计算梯度
May 23 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
虹吸壶是谁发明的?煮出来的咖啡好喝吗
2021/03/04 冲泡冲煮
100行PHP代码实现socks5代理服务器
2016/04/28 PHP
Yii视图CGridView列表用法实例分析
2016/07/12 PHP
json 实例详细说明教程
2009/10/31 Javascript
js 幻灯片的实现
2011/12/06 Javascript
十个迅速提升JQuery性能让你的JQuery跑得更快
2012/12/10 Javascript
S2SH整合JQuery+Ajax实现登录验证功能实现代码
2013/01/30 Javascript
简单的jquery左侧导航栏和页面选中效果
2014/08/21 Javascript
js阻止浏览器默认行为的简单实例
2016/05/15 Javascript
jQuery插件echarts设置折线图中折线线条颜色和折线点颜色的方法
2017/03/03 Javascript
详解vue嵌套路由-query传递参数
2017/05/23 Javascript
bootstrap table实现点击翻页功能 可记录上下页选中的行
2017/09/28 Javascript
简述Vue中容易被忽视的知识点
2019/12/09 Javascript
JS数据类型(基本数据类型、引用数据类型)及堆和栈的区别分析
2020/03/04 Javascript
使用JavaScript实现网页秒表功能(含开始、暂停、继续、重置功能)
2020/06/05 Javascript
浅析Python中的多进程与多线程的使用
2015/04/07 Python
Python的Bottle框架的一些使用技巧介绍
2015/04/08 Python
Python的Django框架中URLconf相关的一些技巧整理
2015/07/18 Python
ansible作为python模块库使用的方法实例
2017/01/17 Python
Django读取Mysql数据并显示在前端的实例
2018/05/27 Python
python3.4实现邮件发送功能
2018/05/28 Python
python判断文件夹内是否存在指定后缀文件的实例
2019/06/10 Python
Python代码实现http/https代理服务器的脚本
2019/08/12 Python
python opencv如何实现图片绘制
2020/01/19 Python
收藏!10个免费高清视频素材网站!【设计、视频剪辑必备】
2021/03/18 杂记
HTML5 transform三维立方体实现360无死角三维旋转效果
2014/08/22 HTML / CSS
Clearly新西兰:购买眼镜、太阳镜和隐形眼镜
2018/04/26 全球购物
火车的故事教学反思
2014/02/11 职场文书
党员志愿者活动方案
2014/08/28 职场文书
物价局领导班子四风问题整改措施
2014/10/26 职场文书
求职简历自我评价怎么写
2015/03/10 职场文书
出国导师推荐信
2015/03/25 职场文书
公积金具结保证书
2015/05/11 职场文书
导游词之唐山景点
2019/12/18 职场文书
Python文件的操作示例的详细讲解
2021/04/08 Python
一篇文章弄清楚Ajax请求的五个步骤
2022/03/17 Javascript