Django 电子邮件认证后端
示例
Django的默认身份验证适用于username和password字段。电子邮件身份验证后端将根据email和对用户进行身份验证password。
from django.contrib.auth import get_user_model
class EmailBackend(object):
"""
Custom Email Backend to perform authentication via email
"""
def authenticate(self, username=None, password=None):
user_model = get_user_model()
try:
user = user_model.objects.get(email=username)
if user.check_password(password): # check valid password
return user # return user to be authenticated
except user_model.DoesNotExist: # no matching user exists
return None
def get_user(self, user_id):
user_model = get_user_model()
try:
return user_model.objects.get(pk=user_id)
except user_model.DoesNotExist:
return None将此身份验证后端添加到AUTHENTICATION_BACKENDS设置中。
# settings.py
AUTHENTICATION_BACKENDS = (
'my_app.backends.EmailBackend',
...
)
热门推荐
10 中考祝福语简短卡片大全
11 长辈钻石婚祝福语简短
12 商业mc祝福语大全简短
13 小红书平安祝福语简短
14 九子订婚祝福语简短
15 今日祝福语简短10字
16 六十岁大寿祝福语简短
17 祝球员赛前祝福语简短
18 十月简短祝福语