def authenticate(self, username=None, password=None, **kwargs): try: lu = LDAPUser(username, password) user = None try: user = User.objects.get(username=username) except User.DoesNotExist: # Add the user to the local DB user = User(username=username, password='') user.save() user.ldapuser = lu return user except ldap.LDAPError as e: # Could not find user etc. print('Could not authenticate user '+username+':', e) return None