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语言实现机器学习的K-近邻算法
Jun 11 Python
Python正则获取、过滤或者替换HTML标签的方法
Jan 28 Python
Pytorch入门之mnist分类实例
Apr 14 Python
[原创]Python入门教程4. 元组基本操作
Oct 31 Python
Python生成rsa密钥对操作示例
Apr 26 Python
python取余运算符知识点详解
Jun 27 Python
python 进程的几种创建方式详解
Aug 29 Python
pytorch数据预处理错误的解决
Feb 20 Python
python + selenium 刷B站播放量的实例代码
Jun 12 Python
PyTorch 如何自动计算梯度
May 23 Python
Python实现抖音热搜定时爬取功能
Mar 16 Python
Python函数对象与闭包函数
Apr 13 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抽象类使用要点与注意事项分析
2015/02/09 PHP
thinkPHP模板算术运算相关函数用法分析
2016/07/12 PHP
php获取字符串前几位的实例(substr返回字符串的子串用法)
2017/03/08 PHP
php 数组元素快速去重
2017/05/05 PHP
for 循环性能比较 提高for循环的效率
2009/03/19 Javascript
jQuery源码中的chunker 正则过滤符分析
2012/07/31 Javascript
在jQuery中 关于json空对象筛选替换
2013/04/15 Javascript
jQuery之排序组件的深入解析
2013/06/19 Javascript
键盘上一张下一张兼容IE/google/firefox等浏览器
2014/01/28 Javascript
jquery动态添加删除一行数据示例
2014/06/12 Javascript
js构造函数、索引数组和属性的实现方式和使用
2014/11/16 Javascript
javascript实现别踩白块儿小游戏程序
2015/11/22 Javascript
Three.js学习之网格
2016/08/10 Javascript
js转换对象为xml
2017/02/17 Javascript
对于input 框限定输入值为浮点型的js代码
2017/09/25 Javascript
详解Vue.js iview实现树形权限表(可扩展表)
2018/09/30 Javascript
详解vue的数据劫持以及操作数组的坑
2019/04/18 Javascript
利用不到200行代码写一款属于你自己的js类库
2019/07/08 Javascript
微信小程序设置滚动条过程详解
2019/07/25 Javascript
python在命令行下使用google翻译(带语音)
2014/01/16 Python
在 Django/Flask 开发服务器上使用 HTTPS
2014/07/03 Python
在Python中使用base64模块处理字符编码的教程
2015/04/28 Python
浅谈python 四种数值类型(int,long,float,complex)
2016/06/08 Python
利用python批量检查网站的可用性
2016/09/09 Python
python flask实现分页效果
2017/06/27 Python
python 中if else 语句的作用及示例代码
2018/03/05 Python
python 字符串和整数的转换方法
2018/06/25 Python
python如何生成各种随机分布图
2018/08/27 Python
Python中flatten( ),matrix.A用法说明
2020/07/05 Python
Agoda香港:全球特价酒店预订
2017/05/07 全球购物
毕业自我鉴定
2013/11/05 职场文书
初中地理教学反思
2014/01/11 职场文书
初级党校心得体会
2014/09/11 职场文书
家长学校教学计划
2015/01/19 职场文书
党小组鉴定意见
2015/06/02 职场文书
如何在Python中创建二叉树
2021/03/30 Python