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实现超市商品销售管理系统

python实现超市商品销售管理系统

本文实例为大家分享了python超市商品销售管理系统的具体代码,供大家参考,具体内容如下 需求分析:超市销售管理系统功能 1.欢迎用户使用超市销售管理系统,提示用户登录,如果是用户名为a...

python执行外部程序的常用方法小结

本文实例总结了python执行外部程序的常用方法。分享给大家供大家参考。具体分析如下: 在python中我们可以通过下面的方法直接调用系统命令或者外部程序,使用方便 1、os模块的exe...

python监控linux内存并写入mongodb(推荐)

(需要安装psutil 用来获取服务器资源,以及pymongo驱动)#pip install psutil #pip install pymongo #vim memory_moni...

使用pyhon绘图比较两个手机屏幕大小(实例代码)

使用pyhon绘图比较两个手机屏幕大小(实例代码)

背景:准备给长辈买个手机,有关手机大小,网购平台基本只有手机尺寸和分辨率的文本数据,因而对手机屏幕大小没有直观感受,虽然网上有比较手机大小的网站(百度搜索),但是只有知名的手机才有数据,...

Python完全识别验证码自动登录实例详解

1、直接贴代码 #!C:/Python27 #coding=utf-8 from selenium import webdriver from selenium.webdri...