Gibt es eine einfache Webapp, die es LDAP-Benutzern ermöglicht, ihre eigenen Konten zu verwalten?

Ich habe einen OpenLDAP-Server¹, der Benutzerkonten für eine kleine, aber wachsende Gruppe von Benutzern verwaltet. Ich bin es leid, die Passwörter von Leuten selbst zurückzusetzen, und möchte einige Dienste für Benutzeranmeldungen öffnen. Dazu muss ich die manuelle Verwaltung der Benutzerdatenbank beenden und den Benutzern erlauben, ihre eigenen Konten zu bearbeiten.

Das Wichtigste ist, dass Benutzer ihre eigenen Passwörter mit einem auf E-Mail-Adressen basierenden Reset-Code zurücksetzen können. Um dies möglich zu machen, möchte ich zusätzlich zu dem posixAccount-Schema, das ich bereits verwende, jederzeit eine verifizierte E-Mail-Adresse anfordern.

Ich suche nach einer Einzweck-Web-App, die auf einem * nix-Server relativ einfach einzurichten ist und Folgendes bietet:

  • gegen das LDAP-Verzeichnis authentifizieren,
  • Benutzern erlauben, ihren Namen, ihre E-Mail-Adresse und andere Kontaktdaten zu ändern, aber nur ihr eigenes Konto zu sehen,
  • Erlauben Sie Benutzern, ihr Passwort mit einem anständigen Satz von Anforderungen an die Passwortstärke zurückzusetzen (dies kann vom LDAP-Server erzwungen werden, aber dem Benutzer müssen die Regeln angezeigt werden),
  • den Prozess der Überprüfung von E-Mail-Adressen bei Änderung handhaben

Außerdem wäre es schön, wenn:

  • Umgang mit zusätzlichen LDAP-Wertfeldern wie öffentlichen SSH-Schlüsseln,
  • könnte optional eine Zwei-Faktor-Authentifizierung oder eine zweite Genehmigung erfordern, sodass das Zurücksetzen von Passwörtern nicht zu 100 % von der Sicherheit des E-Mail-Kontos eines Benutzers abhängt.

Alles darüber hinaus kann ich selbst erledigen, einschließlich dem Hinzufügen von Gruppeninformationen zu Benutzern, um sie bei verschiedenen Diensten zu authentifizieren. Gibt es da draußen etwas Passendes?

¹ Die LDAP-Datenbank wird von einer Sammlung verschiedener Dienste als Authentifizierungs-Backend verwendet. Das einzige Authentifizierungsschema, das alle diese Dienste gemeinsam unterstützen, ist LDAP, daher kann ich nichts anderes wirklich ersetzen.

Nicht selbst ausprobiert, aber vielleicht könnte phpLDAPAdmin passen? Hier finden Sie ein Installations-Tutorial .
@Izzy Nicht einmal annähernd. Ich habe das bereits am Laufen und verwende es zum Verwalten der Datenbank, aber selbst dafür ist es unhandlich und erfüllt kaum eine der oben genannten Anforderungen. Es kann keine Anmeldungen, Feldvalidierungen oder Passwortzurücksetzungen verarbeiten.

Antworten (2)

Hier sind drei Open-Source-Webanwendungen, und obwohl keine davon Ihre Anforderungen vollständig erfüllt, können Sie zwei oder mehr kombinieren, um das zu tun, was Sie benötigen.

Ich verwende LdapCherry , damit Benutzer ihre LDAP-Kontoinformationen bearbeiten und ihre Passwörter ändern können. Es ist eine Python-Anwendung, die das Cherrypy-Webframework verwendet und meiner Meinung nach ziemlich einfach zu implementieren ist. Es unterstützt keine E-Mail-Verifizierung oder E-Mail-basierte Token zum Zurücksetzen von Passwörtern. Ich verwende es in Kombination mit dem Self-Service-Passwortsystem des LDAP-Toolbox-Projekts, damit meine Benutzer vergessene/abgelaufene Passwörter zurücksetzen können. Es ist eine PHP-basierte Anwendung, die etwas schwieriger bereitzustellen und zu konfigurieren ist. Laut ihrer Github-Seite kann es Benutzern auch erlauben, LDAP-Attribute für SSH-Schlüssel festzulegen, aber das habe ich nicht versucht.

Ich habe in der Vergangenheit PWM (Link kann nicht gepostet werden. Github suchen) für eine Unternehmensumgebung implementiert. Es unterstützt das Zurücksetzen des Passworts per E-Mail-Token und Kontoerstellung. Es ist eine JAVA-Webanwendung und erfordert einen Java-Servlet-Container wie Apache Tomcat. In Kombination mit LdapCherry kann es Ihnen alle Funktionen bieten, die Sie benötigen.

Viel Glück!

Sie können versuchen, die LDAP Tool Box Self Service PHP-Anwendung zu verwenden . Dies ist jedoch hauptsächlich darauf ausgelegt, Benutzern eine Self-Service-Passwortzurücksetzung zu ermöglichen.

Ich habe das Gefühl, dass LDAP Account Manager wahrscheinlich näher an dem ist, wonach Sie suchen. Es funktioniert mit Nginx- und Apache-Webservern und ist sowohl in einer kostenlosen als auch in einer Pro-Version erhältlich . Sie benötigen wahrscheinlich die Pro-Version für den Selbstbedienungsteil des Systems.

Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein