diff options
| author | Alvin Li <liweitianux@gmail.com> | 2013-08-13 14:13:24 +0800 | 
|---|---|---|
| committer | Alvin Li <liweitianux@gmail.com> | 2013-08-13 14:13:24 +0800 | 
| commit | 9636d4a6767f49384d5c386bc3f1142c88b90613 (patch) | |
| tree | 3a70f6d9e4be1791d36c87cc7cbfd1d5aa2b39dd /97suifangqa/apps/profile/backends.py | |
| parent | 9383d9a8a5988d071766c3d08a5c946e9c5b02ae (diff) | |
| download | 97dev-9636d4a6767f49384d5c386bc3f1142c88b90613.tar.bz2 | |
cloned from 'bitbucket', 2013/08/13
Diffstat (limited to '97suifangqa/apps/profile/backends.py')
| -rw-r--r-- | 97suifangqa/apps/profile/backends.py | 25 | 
1 files changed, 25 insertions, 0 deletions
diff --git a/97suifangqa/apps/profile/backends.py b/97suifangqa/apps/profile/backends.py new file mode 100644 index 0000000..8903805 --- /dev/null +++ b/97suifangqa/apps/profile/backends.py @@ -0,0 +1,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
\ No newline at end of file  | 
