首页 > 编程 > Python > 正文

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

2020-01-04 16:53:41
字体:
来源:转载
供稿:网友

本文实例讲述了Django自定义认证方式。分享给大家供大家参考,具体如下:

创建登录应用

首先创建一个新的login app,用来存放认证用到代码

python manage.py startapp login

修改settings.py中的认证项

AUTHENTICATION_BACKENDS = (  'login.auth.UsernamePasswordAuth',)

自定义认证类

在login app下创建auth.py文件,内容如下

#coding:utf-8from django.contrib.auth.models import Userclass 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程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表