您的位置:首页 > 编程语言 > Go语言

Django使用自定义认证方式

2016-01-11 09:47 821 查看

Django使用自定义认证方式

创建登录应用

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

[code]python manage.py startapp login


修改settings.py中的认证项

[code]AUTHENTICATION_BACKENDS = (
    'login.auth.UsernamePasswordAuth',
)


自定义认证类

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

[code]#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


转载请以链接形式标明本文地址

本文地址:/article/3615693.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: