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中增加和插入元素的示例
Nov 01 Python
关于python下cv.waitKey无响应的原因及解决方法
Jan 10 Python
OpenCV 边缘检测
Jul 10 Python
django使用xadmin的全局配置详解
Nov 15 Python
如何基于Python获取图片的物理尺寸
Nov 25 Python
python实现简单颜色识别程序
Feb 19 Python
python+adb命令实现自动刷视频脚本案例
Apr 23 Python
Softmax函数原理及Python实现过程解析
May 22 Python
详解用Python爬虫获取百度企业信用中企业基本信息
Jul 02 Python
python 录制系统声音的示例
Dec 21 Python
python实现双人五子棋(终端版)
Dec 30 Python
python实现的web监控系统
Apr 27 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
Destoon实现多表查询示例
2014/08/21 PHP
PHP实现判断数组是一维、二维或几维的方法
2017/02/06 PHP
简短几句 通俗解释javascript的闭包
2011/01/17 Javascript
jquery特效 幻灯片效果示例代码
2013/07/16 Javascript
使用jQuery插件创建常规模态窗口登陆效果
2013/08/23 Javascript
非html5实现js版弹球游戏示例代码
2013/09/22 Javascript
轻松创建nodejs服务器(10):处理上传图片
2014/12/18 NodeJs
AngularJS 避繁就简的路由
2016/07/01 Javascript
AngularJS基础 ng-options 指令详解
2016/08/02 Javascript
jQuery网页定位导航特效实现方法
2016/12/19 Javascript
jQuery和CSS仿京东仿淘宝列表导航菜单
2017/01/04 Javascript
jquery 仿锚点跳转到页面指定位置的实例
2017/02/14 Javascript
微信小程序获取手机网络状态的方法【附源码下载】
2017/12/08 Javascript
node前端模板引擎Jade之标签的基本写法
2018/05/11 Javascript
Vue前后端不同端口的实现方法
2018/09/19 Javascript
JavaScript学习笔记之基于定时器实现图片无缝滚动功能详解
2019/01/09 Javascript
webpack-url-loader 解决项目中图片打包路径问题
2019/02/15 Javascript
vue组件数据传递、父子组件数据获取,slot,router路由功能示例
2019/03/19 Javascript
浅谈vue.use()方法从源码到使用
2019/05/12 Javascript
JavaScript使用面向对象实现的拖拽功能详解
2019/06/12 Javascript
借助云开发实现小程序短信验证码的发送
2020/01/06 Javascript
js实现幻灯片轮播图
2020/08/14 Javascript
python使用pyhook监控键盘并实现切换歌曲的功能
2014/07/18 Python
python DataFrame 取差集实例
2019/01/30 Python
对python中的try、except、finally 执行顺序详解
2019/02/18 Python
Pycharm使用远程linux服务器conda/python环境在本地运行的方法(图解))
2019/12/09 Python
Python imutils 填充图片周边为黑色的实现
2020/01/19 Python
Python数组并集交集补集代码实例
2020/02/18 Python
pyspark给dataframe增加新的一列的实现示例
2020/04/24 Python
Pytorch 解决自定义子Module .cuda() tensor失败的问题
2020/06/23 Python
Love, Bonito国际官网:新加坡女装品牌
2021/03/13 全球购物
车间班组长岗位职责
2013/11/13 职场文书
导游实习生自荐书
2014/01/28 职场文书
保险经纪人求职信
2014/03/11 职场文书
2014年“四风”问题个人整改措施
2014/09/17 职场文书
golang 比较浮点数的大小方式
2021/05/02 Golang