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