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
8 class HTSUserModelBackend(ModelBackend):
9 def authenticate(self, username=None, password=None):
11 user = self.user_class.objects.get(username=username)
12 if user.check_password(password):
14 #except self.user_class.DoesNotExist:
15 except Exception as e:
16 print(e, file=sys.stderr)
19 def get_user(self, user_id):
21 return self.user_class.objects.get(pk=user_id)
22 #except self.user_class.DoesNotExist:
23 except Exception as e:
24 print(e, file=sys.stderr)
29 if not hasattr(self, '_user_class'):
30 self._user_class = get_model(*settings.CUSTOM_USER_MODEL.split('.',2))
31 if not self._user_class:
32 raise ImproperlyConfigured('Could not get custom user model')
33 return self._user_class