Benutzer-Werkzeuge

Webseiten-Werkzeuge


externe_authentisierungsschnittstelle

Externe Authentisierungsschnittstelle

Die Authentisierung gegen eine externe Benutzerdatenbank (z.B. LDAP oder ActiveDirectory) erfolgt mit Hilfe eines externen Programms. Dieses prüft die Anmeldedaten gegen die externe Datenbank und gibt den Status zurück.

Authentisierungs-Protokoll

Ein Authentisierungsmodul implementiert das Authentisierungs-Protokoll für die Anmeldung am Benno Web-UI. Beim Login werden der Reihe nach alle Authentiserungsmodule im Verzeichnis /etc/benno-web/auth.d aufgerufen, bis die Authentisierung erfolgreich war.

Beispiel: Zusätzliche Aliase

Einigen Usern soll zusätzlich Zugriff auf einzelne Adressen ermöglicht werden. Die Konfiguration über die LDAP-Attribute würde eine Erweiterung des LDAP-Schemas erfordern und ist daher nicht einfach umsetzbar.

In diesem Fall wird ein einfaches Authentisierungsmodul csv_aliases erstellt und in den Modulstack integriert.

Das Authentisierungsmodul csv_aliases (s.u.) wird im Verzeichnis /etc/benno-web/auth.d erstellt. Dieses liest den einzelnen Benutzern zugeordneten Aliase aus einer CSV-Datei.

Das Authentisierungsmodul muss ausführbar sein: chmod 0755 /etc/benno-web/auth.d/csv_aliases.

Die CSV-Datei /etc/benno-web/benno_addressmap.csv enthält die Zuordnung <username> → <zusätzliche Adresse> per Semikolon getrennt. Diese Datei kann z.B. über eine Tabellenkalkulation erstellt oder aus einem anderen Programm exportiert werden.

csv_aliases

#!/bin/bash
#
# /etc/benno-web/auth.de/csv_aliases
#
ADDRESSMAP=/etc/benno-web/benno_addressmap.csv

read BENNOUSER BENNOPASSOLD
read BENNOPASS

if [ "${BENNOPASS}x" = x ];then
    BENNOPASS="${BENNOPASSOLD}"
else
    if [ "${BENNOPASSOLD}y" != y ];then
        BENNOUSER="${BENNOUSER} ${BENNOPASSOLD}"
    fi
fi

if [ "${BENNOPASS}z" = z ];then
    echo "ERROR ERR_NOPASS\n";
    >&2 echo "Aufruf: echo -e \"<username>\n<passwort>\" | $0\n";
    exit
fi
grep "^${BENNOUSER};" ${ADDRESSMAP} | cut -d\; -f2 | while read ALIASADDRESS; do
    echo "MAIL ${ALIASADDRESS}"
done

benno_addressmap.csv

s.petersen;buchhaltung@hansen-und-meyer.de
k.schmidt;office@hansen-und-meyer.de
k.schmidt;fax@hansen-und-meyer.de
u.hansen;buchhaltung@hansen-und-meyer.de
u.hansen;office@hansen-und-meyer.de
externe_authentisierungsschnittstelle.txt · Zuletzt geändert: 2022/09/13 19:12 von lwsystems