dynamicweb/utils/backend.py
2026-10-04 18:36:54 +01:00

27 lines
No EOL
656 B
Python

import logging
import sys
from django.conf import settings
from django.contrib.auth.backends import ModelBackend
logger = logging.getLogger(__name__)
class MyLDAPBackend(ModelBackend):
def authenticate(self, request, username=None, password=None, **kwargs):
user = super().authenticate(
request=request,
username=username,
password=password,
**kwargs
)
is_testing = (
"test" in sys.argv
or "pytest" in sys.modules
)
if user and not settings.DEBUG and not is_testing:
user.create_ldap_account(password)
return user