Inhaltsverzeichnis

Authentisierung am Web-UI

In der voreingestellten Konfiguration erfolgt die Authentisierung am Web-Interface gegen eine SQLite Datenbank.

Beim Anmeldevorgang werden der Bentzer und das Passwort aus der entsprechenden Tabelle gelesen und mit den übergebenen Daten verglichen. Nach erfolgreicher Prüfung werden die für den jeweiligen Benutzer gespeicherten Daten ausgelesen. Neben den Anmelde-Informationen werden hier weitere, dem Benutzer zugeordnete Metadaten wie z.B. die gespeicherten Suchabfragen abgelegt.

Die Pflege der Benutzerdaten erfolgt auf der Konsole mit dem Kommando benno-useradmin.

Test der Authentisierung

Mit Hilfe von benno-useradmin können die Authentisierungsmodule und die Rückgabewerte einfach getestet werden.

# benno-useradmin -t -u admin
Password: 
50_benno_dbauth: Passwort fuer User lwsystems falsch.
ROLE USER
DISPLAYNAME LWsystems
MAIL lwsystems@lwsystems.intern
ARCHIVE BennoContainer
AUTH OK

Das Passwort kann auch per Parameter -p PASSWORT übergeben werden.

Anmeldevorgang

Nach erfolgreicher Authentisierung werden der Anzeigename des Benutzers sowie die diesem Benutzer zugeordneten E-Mail Adressen ausgelesen. Die Liste der E-Mail Adressen definiert hier gleichzeitig, welche E-Mails der Benutzer sehen darf.

Authentisierung gegen MySQL

Alternativ kann auch eine MySQL Datenbank zur Speicherung der Benutzerdaten angebunden werden.Nach Konfiguration der Datenbank und einem Benutzer mit Schreib- und Leserechten für die DB wird die Anbindung in der Datei /etc/benno-web/benno.conf konfiguriert.

# DATABASE ACCESS
DBTYPE = mysql
DBUSER = benno
DBPASS = GeheimesPasswort
DBHOST = localhost
DATABASE = benno

Die MySQL Tabellen werden wie hier angegeben erzeugt.

Externe Authentisierungs-Backends

Zur Authentisierung gegen externe Backends bietet Benno MailArchiv eine generische Schnittstelle. Hierbei wird ein externes Programm oder Script aufgerufen und diesem der Benutzername und das Passwort als Kommandozeilenargumente übergeben. Das Programm gibt das Ergebnis des Authentisierungsversuchs per STDOUT zurück.

Ein externes Authentisierungs-Backend kann relativ einfach durch ein Programms, welches das Authentisierungs-Protokolls implementiert, erstellt werden.

Im Erfolgsfall sind das die dem Benutzer zugeordneten Daten. Im Fehlerfall wird ein Fehlercode zurückgegeben, der im Web-UI einer Text-Meldung zugeordnet werden kann.