Erfolg ist planbar.
Webdesign // Hosting // SEO

Redaxo Authentifizierung mit Active Directory

Zentrale Kennwortverwaltung und Redaxo

Im Zuge der zentralen Kennwortverwaltung gerät bei Unternehmen schnell auch das eingesetzte Content-Management-System unter die Lupe. Leider bietet das CMS Redaxo keine Möglichkeit zur Authentifizierung via LDAP. Um dieses Problem zu lösen, haben wir eine Erweiterung für Redaxo 4.5 entwickelt, welche nur einen sehr minimalen Eingriff in den Redaxo-Core benötigt: eine zusätzliche Zeile Code.

Da nur dieser marginale Eingriff notwendig ist, wird das Add-On mit hoher Wahrscheinlichkeit in der aktuellen oder nur leicht abgewandelten Form lauffähig sein.

Funktionsumfang

Vorbereitungen treffen

Redaxo installieren

Als erster Schritt muss Redaxo installiert werden oder eine bereits installierte Redaxo-Instanz bereit stehen.

Backup anlegen

Bevor irgendetwas an Redaxo geändert wird, muss unbedingt ein komplettes Backup der Instanz angelegt werden.

Nutzer-Vorlagen erstellen

Nun müssen zwei Vorlagen angelegt werden, die das System später zum Erstellen von Redaxo-Accounts für die Nutzer des Active Directories verwendet. Zum einen ein Account mit Administrator-Rechten, zum anderen ein Benutzer mit eingeschränkten Rechten. Da diese Accounts später als Vorlagen dienen sollen, empfiehlt es sich, sinnvolle Voreinstellungen bei den jeweiligen Optionen zu treffen. Der Nicht-Admin sollte z.B. ersteinmal über keinerlei Rechte verfügen.

Um Überschneidungen mit dem Directory-Server auszuschließen, sollten eindeutige Logins für die beiden Accounts vergeben werden, z.B. "admin_template" und "admin_user".

LDAP-Add-On konfigurieren

Download

Die Nutzung der Erweiterung erfolgt auf eigenes Risiko. Es handelt sich um kein fertiges Produkt, sondern soll ausschließlich fähigen PHP-Entwicklern und LDAP-Administratoren als Vorlage dienen, eine AD-Authorisierung in Redaxo zu realisieren. Die Erweiterung kann hier heruntergeladen werden.

Vorlagen-Accounts und Basis-Passwort

Im nächsten Schritt muss die Konfigurationsdatei "config.php" des Add-Ons angepasst werden. Die Login-Namen der zuvor erstellten Vorlagen-Accounts müssen angegeben, und ein beliebiges Standard-Passwort gewählt werden. Das Standard-Passwort dient dem Addon dazu, den Nutzer nach erfolgreicher LDAP-Authentifizierung einzuloggen. Man kann sich mit dem Passwort keinesfalls direkt einloggen, weswegen die Wahl des Passworts relativ irrelevant ist (Nur leer sollte es nicht sein).

LDAP Host, Binds, Port etc.

Anschließend müssen noch die spezifischen Angaben zum eigenen LDAP-Server abgeändert werden. Da sich Directory-Server unterscheiden können, ist hier ggf. eine weitere Anpassung und/oder schlichtweg Ausprobieren notwendig.

LDAP-Add-On installieren

Active-Directory-Login aktivieren

Um das Add-On nun zu aktivieren, muss zuerst der Ordner "ldap" mit den Dateien "ldap.php" und "config.php" in den Add-On-Ordner kopiert werden. Da es sich hierbei nicht um ein Redaxo-Add-On im eigentlichen Sinne handelt, sondern der Ordner eigentlich nur zur Ablage der Dateien dient, muss es nicht in Redaxo aktiviert werden. Stattdessen muss nun der einzige Eingriff in den Redaxo-Core vorgenommen werden.

In Redaxo 4.5 muss in der Datei "redaxo/classes/class.rex_login.inc.php" in Zeile 251 die Funktion "setLogin($usr_login, $usr_psw)" direkt zu Beginn um folgenden Include erweitert werden.

include(dirname(realpath(__FILE__)) . "/../addons/ldap/ldap.php");

Bei jedem Login wird das System nun alle Redaxo-User mit LDAP synchronisieren. Der Login ist nun ausschließlich mit einem LDAP-Zugang möglich. Eine Anpassung des Systems, z.B. um lokale Accounts weiterhin zuzulassen ist natürlich denkbar und relativ einfach umzusetzen.

Achtung: Beim ersten erfolgreichen Login werden alle Accounts gelöscht, welche nicht im LDAP-Verzeichnis angelegt oder als Account-Vorlagen definiert sind.

Über Ideen und Anregungen freuen wir uns sehr, am besten direkt per Kontaktformular.