aboutsummaryrefslogtreecommitdiffstats
path: root/97suifangqa/apps/profile/backends.py
diff options
context:
space:
mode:
authorAlvin Li <liweitianux@gmail.com>2013-08-13 14:13:24 +0800
committerAlvin Li <liweitianux@gmail.com>2013-08-13 14:13:24 +0800
commit9636d4a6767f49384d5c386bc3f1142c88b90613 (patch)
tree3a70f6d9e4be1791d36c87cc7cbfd1d5aa2b39dd /97suifangqa/apps/profile/backends.py
parent9383d9a8a5988d071766c3d08a5c946e9c5b02ae (diff)
download97dev-9636d4a6767f49384d5c386bc3f1142c88b90613.tar.bz2
cloned from 'bitbucket', 2013/08/13
Diffstat (limited to '97suifangqa/apps/profile/backends.py')
-rw-r--r--97suifangqa/apps/profile/backends.py25
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