Files
django-maraudes/website/backends.py
Arthur Gerbaud 96f013041b working on #10
2016-11-15 16:47:44 +01:00

27 lines
890 B
Python

from django.contrib.auth.backends import ModelBackend
from utilisateurs.models import Maraudeur
class MyBackend(ModelBackend):
def authenticate(self, **kwargs):
print('authenticate using MyBackend')
return super().authenticate(**kwargs)
def get_user(self, user_id):
""" Retourne la classe enfant de l'utilisateur connecté
s'il en a une, sinon le User par défaut.
"""
print('use MyBackend: get_user', user_id)
try:
user = Maraudeur.objects.get(pk=user_id)
except Maraudeur.DoesNotExist:
print('no Maraudeur found. Using base user class')
user = super().get_user(user_id)
print("found:", user, user.__class__)
return user
def has_perm(self, *args, **kwargs):
print('call has_perm', args, kwargs)
return super().has_perm(*args, **kwargs)