LDAP Integrationsdienste für UliCMS
Hersteller: Ulrich Schmidt
Kategorie: Authentifizierung
Erste Veröffentlichung: 31.10.2017
Letzte Änderung: 05.04.2020
Features
- LDAP Logins benutzen
- Passwörter zwischen einem LDAP Verzeichnisdienst und UliCMS werden synchronisiert
- Accounts die noch nicht in UliCMS existieren können automatisch beim ersten Login erstellt werden. Daten wie Vor- und Nachname und die E-Mail Adresse werden aus dem LDAP importiert
- Einfache Konfiguration
- Pseudo Load-Balancing wenn mehrere LDAP Hosts hinterlegt sind.
- Verschlüsselte Verbindungen per TLS werden unterstützt
Installation und Konfiguration
Voraussetzungen
- UliCMS 2017.4 oder neuer
- PHP 7.0 oder neuer mit ldap-Erweiterung
- klogger (Ab ldap_login 1.2)
- LDAP Verzeichnisdienst (getestet mit OpenLDAP, andere LDAP Server sollten ebenfalls funktionieren)
- Grundlegende LDAP Kenntnisse werden benötigt
Installation
- In UliCMS klicken Sie bitte auf Pakete -> Paket installieren
- Laden Sie die Datei ldap_login-{version number}.sin hoch
- Klicken Sie auf Installieren
Hinweis: Die Installation deaktiviert das "Passwort zurücksetzen" Feature.
Konfiguration
Kopieren Sie das folgende Codesnippet in die Datei cms-config.php und passen Sie die Konfiguration an. Eine Beschreibung der Parameter finden Sie im nächsten Abschnitt.
public $ldap_config = array( "ldap_host" => [ "domaincontroller1.firma.de", "domaincontroller2.firma.de", "domaincontroller3.firma.de" ], "port" => 389, "use_tls" => false, "domain" => "firma.de", "user_dn" => "uid=%user%,dc=%domain%", "filter_dn" => "(uid=%user%)", "search_dn" => "cn=users,dc=firma,dc=de", // all field names must be lower case "field_mapping" => [ "username" => "uid", "firstname" => "givenname", "lastname" => "sn", "email" => "mail" ], "password_field" => "userPassword", "create_user" => true, // create a new user if it doesn't exists "sync_data" => true, // Update user data from ldap on login "sync_passwords" => true, // Synchronize passwords "validate_certificate" => true, // if this is false LDAPTLS_REQCERT=never will be set. "skip_on_error" => true, // try to login with standard UliCMS login if LDAP Login fails "log_enabled" => false // Should ldap_login write a log file? );
Konfigurationsparameter
ldap_host Der Hostname eines LDAP Servers als String oder die Hostnamen mehrerer LDAP Server als Array von Strings
port LDAP Server Port
use_tls Eine verschlüsselte Verbindung nutzen
domain Name der Login-Domäne
user_dn dn für die Anmeldung von Benutzern
Die Platzhalter %user% und %domain% dürfen genutzt werden.
filter_dn dn um die Benutzerdaten eines Benutzers über ein eindeutiges Attribut (Benutzername) abzufragen. Der Platzhalter %user% kann genutzt werden.
search_dn dn des Basis Ordners für filter_dn
field_mapping UliCMS Datenbankfelder auf LDAP Felder mappen
password_field Name des Feldes, welches das Passwort des Benutzers enthält
create_user Soll ldap_login einen Benutzer anlegen, wenn dieser noch nicht existiert?
sync_data Soll ldap_login Benutzerdaten mit dem LDAP synchronisieren?
sync_passwords Soll ldap_login Passwörter mit dem LDAP synchronisieren?
validate_certificate Soll php-ldap das Zertifikat validieren bei Nutzung einer verschlüsselten Verbindung?
Setzen Sie diesen Parameter auf false wenn es Probleme beim Aufbau einer verschlüsselten Verbindung gibt.
skip_on_error Soll ein Fallback auf die interne Loginfunktion von UliCMS erfolgen, wenn der Login per LDAP fehlschlägt?
log_enabled Sollen Logdateien erzeugt werden?
Die Logdateien finden Sie unter ULICMS_ROOT/content/log/ldap_login
Einschränkungen
- Synchronisation von Benutzerdaten und Passwörtern ist nur in eine Richtung implementiert. (LDAP -> UliCMS)
Fehlerbehebung
Falls Sie sich nicht mehr einloggen können
- Löschen Sie den "ldap_login" Modul Ordner
oder
- Führen Sie folgendes SQL aus:
update {prefix}modules set enabled = 0 where name = 'ldap_login';
um das ldap_login Modul zu deaktivieren.
Changelog
Neu in Version 2.1
- SQLException, die auftritt, wenn der Vorname, der Nachname oder das E-Mail Feld des LDAP Users leer ist, wurde korrigiert
Neu in Version 2.0
- Kompatiblität mit UliCMS 2019.3.1
Neu in Version 1.9
- Kompatiblität mit UliCMS 2019.3
Neu in Version 1.5
- Kompatiblität mit UliCMS 2018.3
- Passwort-Synchronisierung in Richtung LDAP deaktiviert, da diese nicht korrekt funktioniert.
- Wenn ein User per LDAP eingeloggt ist, ist das Ändern des Passworts in der "Profil bearbeiten" Ansicht deaktiviert.
Neu in Version 1.4
- Kompatiblität mit UliCMS 2018.2
Neu in Version 1.2
- Neue Option "skip_on_error" hinzugefügt
- Logging
Neu in Version 1.1
- FIX: Der Parameter field_mapping wird nun korrekt aus der Konfigurationsdatei gelesen
- FIX: Escaping von Parametern korrigiert
- FIX: Funktioniert nun auch mit Active Directory
Version | |
2.1 | Download |
2.0 | Download |
1.9 | Download |
1.5 | Download |
1.4 | Download |
1.2 | Download |
1.1 | Download |
1.0 | Download |