Ich authentifiziere Django-Benutzer gegen eine Active Directory (LDAP) -Datenbank mit django-auth-ldap.Kann Django mehrere LDAP-Authentifizierungen auf ein einzelnes Benutzerobjekt zuordnen?
Unsere Konvention für sAMAccountName
(normalerweise die eindeutige ID für einen AD-Account) ist firstname.surname
. Es ist möglich, dass sich dieser Wert für einen logischen Benutzer ändert. Zum Beispiel könnte sich ihr Nachname bei Heirat oder Scheidung ändern.
Wir verlangen außerdem, dass Benutzer sich mit ihrem E-Mail-Präfix anstelle ihrer sAMAccountName
anmelden, um die Benutzerfreundlichkeit zu erhöhen. In den meisten Fällen entspricht dieser Wert sAMAccountName
. In einigen Fällen hat ein Benutzer jedoch zwei E-Mail-Adressen (1. legaler Name, 2. englisch/westlicher Name). In anderen Fällen unterscheiden sich E-Mail und sAMAccountName
aus historischen Gründen. In allen Fällen (AD-Bezeichneränderungen, zwei E-Mail-Bezeichner für einen Benutzer, E-Mail-Kennung! = sAMAccountName
) sollten mehrere gültige LDAP-Authentifizierungen demselben logischen Django-Benutzer zugeordnet werden - sie sollten nicht die Erstellung mehrerer unabhängiger Benutzer auslösen Objekte.
Wie können wir die Authentifizierung für dieses Szenario konfigurieren?
- Aliase. Wenn es möglich ist, einen Django-Benutzer einem "primären" Benutzer zuzuordnen, anstatt mehrere Authentifizierungen für denselben Benutzer, wäre das eine akzeptable Lösung.
- Alternative Bibliotheken. Wenn ein anderer gut gepflegt Django/LDAP-Authentifizierung Bibliothek wird den Job (z django-auth-ldap-ng)
Nichts in Django würde die Zuordnung mehrerer AD-Benutzer zu einem einzelnen Django-Benutzer verbieten. Wie Sie vorgehen, hängt vollständig vom Django-Authentifizierungs-Backend ab, das Sie verwenden. – psagers
@psagers aktualisierte Frage zu erwähnen Backend (django-auth-ldap) - offen für Vorschläge, um es zu wechseln – d3vid