import logging from django.contrib.auth import login from django.contrib.auth.backends import RemoteUserBackend from postorius_ldap_membership_management.utils import populate_user logger = logging.getLogger(__name__) class LdapRemoteUserBackend(RemoteUserBackend): def authenticate(self, request, remote_user=None): logging.info('auth as %s', remote_user) user = populate_user(remote_user) if user is not None: login(request, user, backend='django_auth_ldap.backend.LDAPBackend') logging.debug('loaded data for %s', remote_user) return user