1 from __future__ import absolute_import, print_function, unicode_literals
3 from django.conf import settings
4 from django.contrib.auth.backends import ModelBackend
5 from django.core.exceptions import ImproperlyConfigured
6 from django.db.models import get_model
11 logger = logging.getLogger(__name__)
13 class HTSUserModelBackend(ModelBackend):
14 def authenticate(self, username=None, password=None):
16 user = self.user_class.objects.get(username=username)
17 if user.check_password(password):
19 #except self.user_class.DoesNotExist:
20 except Exception as e:
24 def get_user(self, user_id):
26 return self.user_class.objects.get(pk=user_id)
27 #except self.user_class.DoesNotExist:
28 except Exception as e:
34 if not hasattr(self, '_user_class'):
35 self._user_class = get_model(*settings.CUSTOM_USER_MODEL.split('.', 2))
36 if not self._user_class:
37 raise ImproperlyConfigured('Could not get custom user model')
38 return self._user_class