Ich habe eine Django-App, die zwei Authentifizierungs-Backends hat, ein LDAP-Backend mit allen 'internen' Benutzern und ein benutzerdefiniertes Backend mit 'externen' Benutzern. Alle internen Benutzer, die dem LDAP-Gruppensuchfilter entsprechen, sollten mit is_staff
: True
erstellt werden.django-auth-ldap Standardwerte für neu erstellten Benutzer
Früher haben wir
AUTH_LDAP_USER_ATTR_MAP = {
"name": "cn",
"email": "mail",
"is_staff": "mail",
}
und dies schien ganz gut zu funktionieren, aber unter Verwendung von Django 1.10 erhalten wir jetzt:
django.core.exceptions.ValidationError: ["'[email protected]' value must be either True or False."]
Ich weiß, dass ich für die Gruppenmitgliedschaft suchen und anzeigen lassen, dass zu is_staff
aber grundsätzlich möchte ich alle Konten für Benutzer, die Authentifizierung gegen LDAP automatisch auf is_staff
: True
.
Gibt es einen geeigneten Weg, dies zu tun? Ich weiß, dass ich es nachträglich beheben kann, indem ich mich in das Signal django_auth_ldap.backend.populate_user
einklinke, aber dann ist der Benutzer bereits erstellt, vorzugsweise möchte ich den Benutzer ändern, bevor sie erstellt werden.