aboutsummaryrefslogtreecommitdiffstats
path: root/97suifangqa/apps/profile/backends.py
blob: 8903805146dd7e04225d3c075514e946425e845c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#-*- coding: utf-8 -*-

from django.contrib.auth.models import User

class EmailOrUsernameModelBackend(object):

	def authenticate(self, username=None, password=None):
		if '@' in username:
			kwargs = {'email': username}
		else:
			kwargs = {'username': username}
		try:
			user = User.objects.get(**kwargs)
			if user.check_password(password):
				return user
		except User.DoesNotExist:
			pass
		return None

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