1 from django.conf import settings
2 from django.contrib.auth.backends import ModelBackend
3 from django.core.exceptions import ImproperlyConfigured
4 from django.db.models import get_model
6 class HTSUserModelBackend(ModelBackend):
7 def authenticate(self, username=None, password=None):
9 user = self.user_class.objects.get(username=username)
10 if user.check_password(password):
12 #except self.user_class.DoesNotExist:
17 def get_user(self, user_id):
19 return self.user_class.objects.get(pk=user_id)
20 #except self.user_class.DoesNotExist:
27 if not hasattr(self, '_user_class'):
28 self._user_class = get_model(*settings.CUSTOM_USER_MODEL.split('.',2))
29 if not self._user_class:
30 raise ImproperlyConfigured('Could not get custom user model')
31 return self._user_class