首页 > 其他 > 详细

Django使用自定义认证方式

时间:2016-01-11 10:30:37      阅读:257      评论:0      收藏:0      [点我收藏+]

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

转载请以链接形式标明本文地址
本文地址:http://blog.csdn.net/kongxx/article/details/50495086

Django使用自定义认证方式

原文:http://blog.csdn.net/kongxx/article/details/50495086

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!