parent
59ce6b55ff
commit
3ff5b9bb70
@ -0,0 +1,38 @@ |
||||
# backends.py |
||||
from django.contrib.auth import get_user_model |
||||
from django.contrib.auth.backends import ModelBackend |
||||
from django.db.models import Q |
||||
|
||||
from django.contrib.auth import get_user_model |
||||
from django.contrib.auth.backends import ModelBackend |
||||
from django.db.models import Q |
||||
import logging |
||||
|
||||
logger = logging.getLogger(__name__) |
||||
|
||||
class EmailOrUsernameModelBackend(ModelBackend): |
||||
def authenticate(self, request, username=None, password=None, **kwargs): |
||||
UserModel = get_user_model() |
||||
|
||||
print(f"Backend attempting authentication for: {username}") # Debug print |
||||
logger.info(f"Backend attempting authentication for: {username}") |
||||
|
||||
try: |
||||
user = UserModel.objects.get( |
||||
Q(username__iexact=username) | Q(email__iexact=username) |
||||
) |
||||
print(f"User found: {user}") # Debug print |
||||
logger.info(f"User found: {user}") |
||||
|
||||
if user.check_password(password): |
||||
print("Password check successful") # Debug print |
||||
logger.info("Password check successful") |
||||
return user |
||||
print("Password check failed") # Debug print |
||||
logger.warning("Password check failed") |
||||
return None |
||||
|
||||
except UserModel.DoesNotExist: |
||||
print("User not found") # Debug print |
||||
logger.warning("User not found") |
||||
return None |
||||
Loading…
Reference in new issue