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基于Tkinter库实现简单文本编辑器实例
May 05 Python
Python3搜索及替换文件中文本的方法
May 22 Python
python中使用PIL制作并验证图片验证码
Mar 15 Python
python logging日志模块以及多进程日志详解
Apr 18 Python
Django处理文件上传File Uploads的实例
May 28 Python
Python模块的加载讲解
Jan 15 Python
Pycharm以root权限运行脚本的方法
Jan 19 Python
Python修改文件往指定行插入内容的实例
Jan 30 Python
基于python实现雪花算法过程详解
Nov 16 Python
jupyter notebook中美观显示矩阵实例
Apr 17 Python
Python使用多进程运行含有任意个参数的函数
May 02 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
Nov 26 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扩展模块memcached长连接使用方法分析
2014/12/24 PHP
php继承中方法重载(覆盖)的应用场合
2015/02/09 PHP
php array_slice 取出数组中的一段序列实例
2016/11/04 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
2020/05/27 PHP
jQuery使用手册之三 CSS操作
2007/03/24 Javascript
Jquery数独游戏解析(一)-页面布局
2010/11/05 Javascript
GreyBox技术总结(转)
2010/11/23 Javascript
jQuery中关于ScrollableGridPlugin.js(固定表头)插件的使用逐步解析
2014/07/17 Javascript
关于vue中 $emit的用法详解
2018/04/12 Javascript
JavaScript使用math.js进行精确计算操作示例
2018/06/19 Javascript
jQuery实现点击旋转,再点击恢复初始状态动画效果示例
2018/12/11 jQuery
setTimeout与setInterval的区别浅析
2019/03/23 Javascript
微信小程序传值以及获取值方法的详解
2019/04/29 Javascript
详解iframe跨域的几种常用方法(小结)
2019/04/29 Javascript
localstorage实现带过期时间的缓存功能
2019/06/28 Javascript
Vue根据条件添加click事件的方式
2019/11/09 Javascript
Python 检查数组元素是否存在类似PHP isset()方法
2014/10/14 Python
Python的多态性实例分析
2015/07/07 Python
动感网页相册 python编写简单文件夹内图片浏览工具
2016/08/17 Python
详解Python实现按任意键继续/退出的功能
2016/08/19 Python
使用python实现生成用户信息
2017/03/20 Python
利用Python3分析sitemap.xml并抓取导出全站链接详解
2017/07/04 Python
解决pandas read_csv 读取中文列标题文件报错的问题
2018/06/15 Python
Django框架安装方法图文详解
2019/11/04 Python
ansible-playbook实现自动部署KVM及安装python3的详细教程
2020/05/11 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
2020/11/19 Python
纯CSS3实现移动端展开和收起效果的示例代码
2020/04/26 HTML / CSS
HTML5+WebSocket实现多文件同时上传的实例
2016/12/29 HTML / CSS
HTML5自定义mp3播放器源码
2020/01/06 HTML / CSS
游戏商店:Eneba
2020/04/25 全球购物
物业经理自我鉴定
2014/03/03 职场文书
文艺晚会策划方案
2014/06/11 职场文书
领导党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
小学班主任经验交流材料
2014/12/16 职场文书
早会开场白台词大全
2015/06/01 职场文书
雷锋电影观后感
2015/06/10 职场文书