Informationen über die Einrichtung der Benutzerauthentifizierung, über die Verwaltung von Gruppen und weitere Einstellungen
kivitendo verwaltet die Benutzerinformationen in einer Datenbank, die im folgenden “Authentifizierungsdatenbank” genannt wird. Für jeden Benutzer kann dort eine eigene Datenbank für die eigentlichen Finanzdaten hinterlegt sein. Diese beiden Datenbanken können, müssen aber nicht unterschiedlich sein.
Im einfachsten Fall gibt es für kivitendo nur eine einzige Datenbank, in der sowohl die Benutzerinformationen als auch die Daten abgelegt werden.
Zusätzlich ermöglicht es kivitendo, dass die Benutzerpasswörter gegen die Authentifizierungsdatenbank oder gegen einen oder mehrere LDAP-Server überprüft werden.
Welche Art der Passwortüberprüfung kivitendo benutzt und wie
kivitendo die Authentifizierungsdatenbank erreichen kann, wird in der
Konfigurationsdatei config/kivitendo.conf
festgelegt. Diese muss bei der Installation und bei einem Upgrade von
einer Version vor v2.6.0 angelegt werden. Eine
Beispielkonfigurationsdatei
config/kivitendo.conf.default
existiert, die als
Vorlage benutzt werden kann.
Das Passwort, das zum Zugriff auf das Administrationsinterface
von kivitendo benutzt wird, wird ebenfalls in dieser Datei
gespeichert. Es kann auch nur dort und nicht mehr im
Administrationsinterface selber geändert werden. Der Parameter dazu
heißt admin_password
im Abschnitt
[authentication]
.
Die Verbindung zur Authentifizierungsdatenbank wird mit den
Parametern in [authentication/database]
konfiguriert. Hier sind die folgenden Parameter anzugeben:
host
Der Rechnername oder die IP-Adresse des Datenbankservers
port
Die Portnummer des Datenbankservers, meist 5432
db
Der Name der Authentifizierungsdatenbank
user
Der Benutzername, mit dem sich kivitendo beim
Datenbankserver anmeldet (z.B.
"postgres
")
password
Das Passwort für den Datenbankbenutzer
Die Datenbank muss noch nicht existieren. kivitendo kann sie automatisch anlegen (mehr dazu siehe unten).
kivitendo unterstützt Passwortüberprüfung auf zwei Arten: gegen
die Authentifizierungsdatenbank und gegen externe LDAP- oder
Active-Directory-Server. Welche davon benutzt wird, regelt der
Parameter module
im Abschnitt
[authentication]
.
Dieser Parameter listet die zu verwendenden Authentifizierungsmodule auf. Es muss mindestens ein Modul angegeben werden, es können aber auch mehrere angegeben werden. Weiterhin ist es möglich, das LDAP-Modul mehrfach zu verwenden und für jede Verwendung eine unterschiedliche Konfiguration zu nutzen, z.B. um einen Fallback-Server anzugeben, der benutzt wird, sofern der Hauptserver nicht erreichbar ist.
Sollen die Benutzerpasswörter in der Authentifizierungsdatenbank geprüft werden, so muss der Parameter
module
das Modul DB
enthalten. Sofern das Modul in der Liste enthalten ist, egal an welcher
Position, können sowohl der Administrator als auch die Benutzer selber ihre Passwörter in kivitendo ändern.
Wenn Passwörter gegen einen oder mehrere externe LDAP- oder Active-Directory-Server geprüft werden, so muss der Parameter
module
den Wert LDAP
enthalten. In diesem Fall müssen zusätzliche Informationen über den
LDAP-Server im Abschnitt [authentication/ldap]
angegeben werden. Das Modul kann auch mehrfach angegeben werden,
wobei jedes Modul eine eigene Konfiguration bekommen sollte. Der Name der Konfiguration wird dabei mit einem Doppelpunkt getrennt an
den Modulnamen angehängt (LDAP:Name-der-Konfiguration
). Der entsprechende Abschnitt in der Konfigurationsdatei
lautet dann [authentication/Name-der-Konfiguration]
.
Die verfügbaren Parameter für die LDAP-Konfiguration lauten:
host
Der Rechnername oder die IP-Adresse des LDAP- oder Active-Directory-Servers. Diese Angabe ist zwingend erforderlich.
port
Die Portnummer des LDAP-Servers; meist 389.
tls
Wenn Verbindungsverschlüsselung gewünscht ist, so diesen
Wert auf ‘1
’ setzen, andernfalls auf
‘0
’ belassen
verify
Wenn Verbindungsverschlüsselung gewünscht und der Parameter tls
gesetzt ist, so gibt dieser
Parameter an, ob das Serverzertifikat auf Gültigkeit geprüft wird. Mögliche Werte sind require
(Zertifikat
wird überprüft und muss gültig sei; dies ist der Standard) und none
(Zertifikat wird nicht
überpfüft).
attribute
Das LDAP-Attribut, in dem der Benutzername steht, den der
Benutzer eingegeben hat. Für Active-Directory-Server ist dies
meist ‘sAMAccountName
’, für andere
LDAP-Server hingegen ‘uid
’. Diese Angabe ist
zwingend erforderlich.
base_dn
Der Abschnitt des LDAP-Baumes, der durchsucht werden soll. Diese Angabe ist zwingend erforderlich.
filter
Ein optionaler LDAP-Filter. Enthält dieser Filter das Wort
<%login%>
, so wird dieses durch den vom
Benutzer eingegebenen Benutzernamen ersetzt. Andernfalls wird
der LDAP-Baum nach einem Element durchsucht, bei dem das oben
angegebene Attribut mit dem Benutzernamen identisch ist.
bind_dn
und
bind_password
Wenn der LDAP-Server eine Anmeldung erfordert, bevor er
durchsucht werden kann (z.B. ist dies bei
Active-Directory-Servern der Fall), so kann diese hier angegeben
werden. Für Active-Directory-Server kann als
‘bind_dn
’ entweder eine komplette LDAP-DN wie
z.B. ‘cn=Martin
Mustermann,cn=Users,dc=firmendomain
’ auch nur der
volle Name des Benutzers eingegeben werden; in diesem Beispiel
also ‘Martin Mustermann
’.
timeout
Timeout beim Verbindungsversuch, bevor der Server als nicht erreichbar gilt; Standardwert: 10
Sollen auf einem Server mehrere kivitendo-Installationen
aufgesetzt werden, so müssen die Namen der Session-Cookies für alle
Installationen unterschiedlich sein. Der Name des Cookies wird mit dem
Parameter cookie_name
im Abschnitt
[authentication]
gesetzt.
Diese Angabe ist optional, wenn nur eine Installation auf dem Server existiert.
Nachdem alle Einstellungen in
config/kivitendo.conf
vorgenommen wurden, muss
kivitendo die Authentifizierungsdatenbank anlegen. Dieses geschieht
automatisch, wenn Sie sich im Administrationsmodul anmelden, das unter
der folgenden URL erreichbar sein sollte:
http://localhost/kivitendo-erp/controller.pl?action=Admin/login