DJANGO中如何用邮箱来登陆?

简介: 就是另一个不同的登陆backend。 而DJANGO会尝不同的方式,哪个成功就用哪个 authentication.py from django.contrib.auth.models import User class EmailAuthBackend(object): ...

就是另一个不同的登陆backend。

而DJANGO会尝不同的方式,哪个成功就用哪个

authentication.py

from django.contrib.auth.models import User


class EmailAuthBackend(object):
    def authenticate(self, username=None, password=None):
        try:
            user = User.objects.get(email=username)
            if user.check_password(password):
                return user
            return None
        except User.DoesNotExist:
            return None

    def get_user(self, user_id):
        try:
            return User.objects.get(pk=user_id)
        except User.DoesNotExist:
            return None

  setting.py中加一个认证方式:

AUTHENTICATION_BACKENDS = (
    'django.contrib.auth.backends.ModelBackend',
    'account.authentication.EmailAuthBackend',
)

  

目录
相关文章
|
5月前
|
数据安全/隐私保护 Python
Django调用MTP服务器给指定邮箱发送邮件
Django调用MTP服务器给指定邮箱发送邮件
|
5月前
|
Python
八. Django项目之电商购物商城 -- 添加邮箱
八. Django项目之电商购物商城 -- 添加邮箱
|
关系型数据库 MySQL 数据库
【Django | allauth】登录_注册_邮箱验证_密码邮箱重置
【Django | allauth】登录_注册_邮箱验证_密码邮箱重置
【Django | allauth】登录_注册_邮箱验证_密码邮箱重置
|
关系型数据库 MySQL 数据库
【Django | allauth】登录_注册_邮箱验证_密码邮箱重置
【Django | allauth】登录_注册_邮箱验证_密码邮箱重置
【Django | allauth】登录_注册_邮箱验证_密码邮箱重置
|
Web App开发 关系型数据库 索引
|
Web App开发 数据库 数据安全/隐私保护
|
Shell 数据安全/隐私保护 Python
|
Web App开发 XML 数据安全/隐私保护
|
Python 数据安全/隐私保护
使用外部LDAP用户认证后,DJANGO用户如何作登陆的操作?
公司的要求,使用公司的UM帐号验证密码,然后,在DJANGO里登陆。 因为没有authenticate函数,只有login函数,所以不能简单的使用用户来login,而需要加一个backend参数。。。
1265 0
下一篇
无影云桌面