Dem Programm werden Benutzername und Passwort zeilenweise per STDIN übergben. Ein Test eines Authentisierungsmoduls kann daher wie folgt durchgeführt werden.
echo -e "${USERNAME}\n${PASSWORD}" | /usr/sbin/benno_auth.d
Oder mit dem Kommando benno-useradmin
:
benno-useradmin -t -u ${USERNAME} -p ${PASSWORD}
Im Falle einer erfolgreichen Authentisierung gibt das Modul mehrere Zeilen mit den Metadaten des Benutzers aus STDOUT zurück.
ARCHIVE BennoContainer ROLE USER DISPLAYNAME Sabine Petersen MAIL info@hansen-und-meyer.de MAIL s.petersen@hansen-und-meyer.de MAIL sabine.petersen@hansen-und-meyer.de USERID s.petersen AUTH OK
Falls ein Fehler auftritt, wird eine Zeile zurückgegeben, die mit ERROR beginnt. (z.B. „ERROR ERR_AUTH“)
Nach dem ERROR wird mit Leerzeichen getrennt ein symbolischer für eine Fehlermeldung zurück gegeben. Die zugeordneten Fehlermeldungen sind in der Datei /etc/benno/benno-errors.txt hinterlegt und werden in der Nachrichtenbox der Anmeldemaske ausgegeben.
Nach dem Schlüsselwort ARCHIVE wird die Bezeichnung des Containers (in der Regel der <simplecontainer />) zurückgegeben, auf den in dieser Session User zugegriffen werden soll. Dieser Wert bezieht sich auf den jeweiligen Inhalte des <identifier>…</identifier> Tags in der Konfigurationsdatei benno.xml.
Dieser Wert gibt an, ob der Benutzer ein einfacher Benutzer (USER), Admin (ADMIN) oder ein Revisor (REVISOR) ist. Im praktischen Betrieb hat der Wert derzeit keine Auswirkungen. Das mitgelieferte Authentisierungs-Modul setzt für Benutzer, die in der Datenbank auf ADMIN oder REVISOR gesetzt sind der Wert von MAIL auf *@*.
Der Name des Benutzers zur Anzeige im Web-UI.
Dieser Wert setzt den Filter der anzuzeigenden E-Mails. Er sollte alle E-Mail Adressen enthalten, die der Benuzter lesen darf.
Jede MAIL-Zeile enthält eine E-Mail Adresse, deren Mails der Benutzer lesen kann. Dieser Wert kann als Lucene Filterstring ausgeführt werden, so daß Wildcards möglich sind.
Optionaler Rückgabewert wie zum Beispiel <username>@<mandantenbezeichnung>. Falls dieser Wert gesetzt ist, werden die temporären Daten des Bentzers mit dieser ID in der internen Datenbank zwischengespeichert.
Der Wert von USERID muss systemweit eindeutig sein.
Diese Zeile signalisiert, daß die Authentisierung erfolgreich war.
Falls ein Authentisierungsmodul den String AUTH BREAK zurück gibt, wird der Authentisierungsvorgang sofort mit einem Authentisierungsfehler abgebrochen. Hiermit kann ein Modul z.B. einen Benutzer „aussperren“, wenn dieser z.B. nicht aus dem LDAP gelöscht werden kann.
Weitere Module werden nicht mehr aufgerufen.
Falls ein Authentisierungsmodul den String AUTH LAST zurück gibt, wird der Authentisierungsvorgang nach diesem Modul abgebrochen und die weiteren Module nicht mehr aufgerufen.
Hiermit kann das Authentisierungsmodul beliebige Parameter an die Web-Applikation zurück geben.
Beispiel: AUTHPARAM AUTHBY db
signalisiert, daß die Authentisierung gegen die interne Datenbank von Benno MailArchiv erfolgt ist.
Dem Schlüsselwort FILTER folgt durch ein Leerzeichen getrennt der Name mit dem dieser Filter im Web-Interface angezeigt wird. Der FilterName darf kein Leerzeichen enthalten. Ihm folgt durch ein Leerzeichen getrennt ein Lucene Filterstring.
Falls der Benutzername nach Ausscheiden eines Mitarbeiters neu vergeben wird, soll der neue Benutzer nicht auf die E-Mails des alten Benutzers zugreifen können. Dieses wird mit Hilfe eines Filtestrings realisiert. Das LDAP-Authentisierungsmodul gibt einen Filter zurück, wenn der Parameter filter_before_created = true konfiguriert wird.
FILTER StartDate:20190701 NOT Date:[197001010000 TO 201907010000]
Mit diesem FILTER-Parameter wird der Zugriff auf E-Mails vor dem 01.07.2019 unterbunden. Der Filter wird im Webinterface als StartDate:20190701 gelistet.
Der <Warnungstext> wird im Logfile des Webservers ausgegeben.
Infotext für das Debugging per Kommandozeile per benno-useradmin -t -u <username> -p [password]
.
Wird vom System nicht benötigt und dient als Hinweis, daß z.B. ein Modul nicht konfiguriert wurde.
Diese Werte überschreiben die in der Konfigurationsdatei /etc/benno-web/rest.conf
voreingestellten Werte.
URL des REST-Backends auf das der User in der Session zugreifen soll. Z.B. http://localhost:21080.
Username zur Authentisierung am REST-Interface.
Passwort zur Authentisierung am REST-Interface.