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

yipeiwu_com6年前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 Pandas 箱线图的实现

Python Pandas 箱线图的实现

各国家用户消费分布 import numpy as np import pandas as pd import matplotlib.pyplot as plt data...

python实现对excel进行数据剔除操作实例

前言 学习Python的过程中,我们会遇到Excel的各种问题。下面这篇文章主要给大家介绍了关于python对excel进行数据剔除操作的相关内容,分享出来供大家参考学习,下面话不多说了...

Python3.5.3下配置opencv3.2.0的操作方法

Python3.5.3下配置opencv3.2.0的操作方法

1.安装numpy 进入python安装目录的lib下的site-packages文件夹下打开cmd输入pip install numpy下载numpy NumPy系统是Python的...

使用Python进行稳定可靠的文件操作详解

考虑下述Python代码片段。对文件中的数据进行某些操作,然后将结果保存回文件中: 复制代码 代码如下:with open(filename) as f:   inp...

Python中单例模式总结

一、单例模式     a、单例模式分为四种:文件,类,基于__new__方法实现单例模式,基于metaclass方式实现    ...