Django自定义认证方式用法示例

yipeiwu_com7年前Python基础

本文实例讲述了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 Socket编程技巧总结》、《Python URL操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

python实现发送和获取手机短信验证码

首先为大家分享python实现发送手机短信验证码后台方法,供大家参考,具体内容如下 1、生成4位数字验证码 def createPhoneCode(session): cha...

python 实现多维数组转向量

我就废话不多说了,如下所示: >>>from compiler.ast import flatten >>>X matrix([[ ...

python如何查看微信消息撤回

python如何查看微信消息撤回

本文为大家分享了python查看微信消息撤回的具体代码,供大家参考,具体内容如下 1.安装itchat itchat是一个开源的python微信库,支持发送消息、图片、视频、地图、名片、...

用Python代码来绘制彭罗斯点阵的教程

用Python代码来绘制彭罗斯点阵的教程

这里是显示彭罗斯点阵的Python的脚本。是的,这是可以运行的有效Phython代码。 译注:彭罗斯点阵,物理学术语。上世纪70年代英国数学家彭罗斯第一次提出了这个概念,称为彭罗斯点阵(...

详解python如何调用C/C++底层库与互相传值

前言 开发环境: Centos 7 + Python 3.5.1 + Qt Creator(只是使用Qt Creator编译而已,并没有使用QT的任何库) Python调用C/C++...