Benutzer-Werkzeuge

Webseiten-Werkzeuge


externe_authentisierungsschnittstelle

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
externe_authentisierungsschnittstelle [2017/10/26 10:40] – [Externe Authentisierungsschnittstelle] lwsystemsexterne_authentisierungsschnittstelle [2022/09/13 19:12] (aktuell) – [Beispiel: Zusätzliche Aliase] lwsystems
Zeile 3: Zeile 3:
 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.  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. 
  
-Der Programmpfad wird in der Konfigurationsdatei im Parameter EXTERNAL_AUTH festgelegt. Zum Beispiel: 
- 
-<code> 
-EXTERNAL_AUTH = /usr/local/sbin/benno_externalauth 
-</code> 
  
 ===== Authentisierungs-Protokoll ===== ===== Authentisierungs-Protokoll =====
  
-Das Authentisierungs-Modul implementiert das [[authentisierung#Authentisierungs-Protokoll]] für die Anmeldung am Benno Web-UI. +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  ======
  
-====== Beispiel: "Modulstack" zur Authentisierung externer User  ======+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.
  
-Es sollen sich externe Benutzer, die nicht im zentralen Verwaltungssystem gepflegt werden können, an Benno MailArchiv anmelden können. Dieses Szenario läßt sich mit Hilfe eines Authentisierungsstacks lösen.+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 ''[[#benno_addressmap.csv|/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 =====
  
-In der Datei ''/etc/benno-web/benno.conf'' wird das das Modul //benno_auth.d// als externes Authentisierungsmodul konfiguriert. 
  
 <code> <code>
-EXTERNAL_AUTH = /usr/sbin/benno_auth.d +#!/bin/bash 
-</code> +
 +/etc/benno-web/auth.de/csv_aliases 
 +
 +ADDRESSMAP=/etc/benno-web/benno_addressmap.csv 
 + 
 +read BENNOUSER BENNOPASSOLD 
 +read BENNOPASS
  
-Danach wird das Verzeichnis ''/etc/benno-web/auth.d'' angelegt und hier die benötigten Authentisierungsmodule verlinkt.+if [ "${BENNOPASS}x" = x ];then 
 +    BENNOPASS="${BENNOPASSOLD}" 
 +else 
 +    if [ "${BENNOPASSOLD}y" != y ];then 
 +        BENNOUSER="${BENNOUSER} ${BENNOPASSOLD}" 
 +    fi 
 +fi
  
-<code bash+if [ "${BENNOPASS}z" = z ];then 
-mkdir /etc/benno-web/auth.d +    echo "ERROR ERR_NOPASS\n"; 
-ln -s /usr/lib/benno-web/benno_sqliteauth /etc/benno-web/auth.d +    >&2 echo "Aufruf: echo -e \"<username>\n<passwort>\" | $0\n"; 
-ln -s /usr/lib/benno-imap/benno_imapauth /etc/benno-web/auth.+    exit 
 +fi 
 +grep "^${BENNOUSER};" ${ADDRESSMAP} | cut -d\; -f2 | while read ALIASADDRESS; do 
 +    echo "MAIL ${ALIASADDRESS}" 
 +done
 </code> </code>
  
-Das Authentisierungsmodul ruft der Reihe nach alle Authentiserungsmodule im Verzeichnis auf, bis die Authentisierung erfolgreich war. 
  
-In diesem Fall kann die Authentisierung gegen einen IMAP-Server mit Hilfe von [[benno-imap]] oder gegen die Interne Datenbank erfolgen.+===== benno_addressmap.csv =====
  
 +<file 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
 +</file>
externe_authentisierungsschnittstelle.1509014407.txt.gz · Zuletzt geändert: 2017/10/26 10:40 von lwsystems