Skip to content

Benutzer & Gruppen

Die Verwaltung von Benutzern in imperia basiert auf dem Gruppenkonzept. Dieses Konzept hat sich daraus etabliert, dass in einem Unternehmen viele Mitarbeiter ähnliche Aufgaben ausführen und somit die gleichen Zugriffsrechte erhalten müssen.

Eine Gruppe besteht aus einem Satz von verschiedenen Zugriffsrechten. Sie können dem Benutzer eine oder mehrere Gruppe(n) zuweisen. Durch dieses Gruppenkonzept wird die Benutzerverwaltung enorm erleichtert, da so die Erteilung von einzelnen Berechtigungen für Funktionen an neue Benutzer nicht notwendig ist.

Dadurch wird auch die Verwaltung der Zugriffsrechte einfacher: Indem die Rechte der Gruppe verändert werden, werden auch automatisch die Rechte der Benutzer geändert, die der Gruppe angehören.

Die Zugriffsrechte werden auf zwei Ebenen verwaltet:

  • Zugriffsrechte auf Inhalte: Diese Zugriffsrechte sind mit den Rubriken verknüpft und werden über die Rubriken-Verwaltung erteilt.
  • Zugriffsrechte auf Funktionen: Diese Zugriffsrechte sind mit den Funktionen verknüpft, die ein Benutzer ausführen kann, und werden über die Controller-Berechtigungen erteilt.


Gruppenverwaltung#

Die Gruppen-Verwaltung ist unter System->Gruppen zu finden, siehe nachfolgende Abbildung.

Als Systemadministrator sehen Sie dort alle verfügbaren Gruppen.
Einem Benutzer werden dort nur die ihm zugewiesenen Gruppen angezeigt. Lesen Sie dazu auch das Kapitel Gruppe ändern.

Seite "GRUPPEN-VERWALTUNG"

Dort können Sie:


Neue Gruppe anlegen#

Bitte beachten

Die Anzahl der Gruppen, die erstellt werden kann, hängt von der erworbenen Lizenz ab.

  1. Klicken Sie in der Gruppen-Verwaltung auf Neue Gruppe anlegen.
    Die Seite GRUPPENDATEN BEARBEITEN erscheint: Seite "GRUPPENDATEN BEARBEITEN"
  2. Tragen Sie den Namen für die Gruppe ein (Pflichtfeld).
  3. Tragen Sie optional einen Kommentar ein, um bspw. die Berechtigungen dieser Gruppe zu beschreiben.
  4. "Wähle Gruppen, für die diese Gruppen sichtbar sein soll:"
    Entscheiden Sie, wer diese Gruppe sehen darf. Standardmäßig ist die Checkbox "Jeden zulassen, der eingeloggt ist" aktiviert.
  5. "Wähle Gruppen, die diese Gruppen verändern dürfen:"
    Entscheiden Sie, wer diese Gruppe verändern darf. Standardmäßig ist die Checkbox "Jeden zulassen, der eingeloggt ist" deaktiviert.
    Tragen Sie die Namen der Gruppen, denen Sie das Recht erteilen möchten oder lassen Sie das Feld leer.
  6. Klicken Sie auf Speichern, um die Einstellungen zu speichern.

Die neu erstellte Gruppe erscheint nun in der Gruppen-Verwaltung.
Benutzer können nun auch, je nach Berechtigung, die Gruppe ändern.

Lesen Sie für weitere, benutzerübergreifende Einstellungen auch im Kapitel Systemkonfiguration weiter.


Gruppe bearbeiten#

  1. Klicken Sie in der Gruppen-Verwaltung auf die gewünschte Gruppe. Die Seite "GRUPPENDATEN BEARBEITEN" (mit erweiterten Bearbeitungseinstellungen) erscheint: Seite "GRUPPENDATEN BEARBEITEN"
    Zusätzlich zu den Angaben unter Neue Gruppe anlegen können Sie hier einsehen, welchen Benutzern die gewählte Gruppe und/oder die Superuser-Gruppe zugewiesen wurde.
  2. Sie können von dort aus auf die Benutzerdaten zugreifen, indem Sie auf Bearbeiten klicken. Gehen Sie dann wie im Abschnitt Neuen Benutzer anlegen vor.
  3. Zusätzlich können Sie jeweils die Anzeige der Listen beschränken auf Nur aktive Benutzer zeigen.

Zugriffsrechte der Gruppe bearbeiten#

Im Folgenden wird erläutert, wie Sie der Gruppe die Zugriffsrechte auf die verschiedenen Module des imperia-Systems erteilen. Nähere Informationen finden Sie auch in der [Einleitung]((admin.usersandroles/) dieses Kapitels sowie im Kapitel Controller-Berechtigungen.

1. Zugriffsrechte öffnen

Klicken Sie in der Gruppen-Verwaltung auf Übersicht der Zugriffsrechte.
Die Seite "ÜBERSICHT DER ZUGRIFFSRECHTE" erscheint.

2. Zugriffsrechte bearbeiten

Dort haben Sie zwei Optionen zur Bearbeitung der Zugriffsrechte:

  • Zum einen können Sie dort die einzelnen Module auswählen, um deren Zugriffsrechte für die Gruppe zu bearbeiten, z.B. "Rubriken":
    Zugriffsrechte einzelne Module
    Sie werden auf die jeweilige Seite (i.d.F. "Rubriken") weitergeleitet und können dort die Modul-spezifischen Zugriffsrechte für die gewählte Gruppe einstellen:
    Seite "Zugriffsrechte bearbeiten"
    Lesen Sie für die Einstellung der Zugriffsrechte in den jeweiligen Kapiteln der Module weiter.

  • Zum anderen können Sie auf Auswahl für alle Berechtigungsklassen klicken, um die Zugriffsrechte für alle oder mehrere Berechtigungsklassen (Module) zu setzen, siehe folgende Abbildung (standardmäßig ist die Auswahl eingeklappt):
    Seite "ÜBERSICHT DER ZUGRIFFSRECHTE"
    Sie haben dort verschiedene Möglichkeiten, die Zugriffsrechte für mehrere Berechtigungsklassen zu setzen:

    • Setzen Sie die Zugriffsrechte auf bestimmte Klassen, indem Sie die gewünschten Checkboxen aktivieren.
    • Setzen Sie die Zugriffsrechte auf alle Klassen, indem Sie die Checkbox Alle auswählen aktivieren.
    • Berechtigungen von vorhandener Gruppe kopieren:
      1. Wählen Sie zuerst die gewünschte Klasse oder alle Klassen aus.
      2. Tragen Sie dann unter Berechtigungen von vorhandener Gruppe kopieren in das Feld die gewünschte Gruppe ein, deren Zugriffsrechte für die Berechtigungsklassen kopiert werden sollen.
      3. Bestätigen Sie die Auswahl mit Klick auf Kopie.
        Es wird Ihnen im Anschluss eine Zusammenfassung des Vorgangs gezeigt, siehe Abbildung: Zusammenfassung über Kopie der Zugriffsrechte

Gruppe löschen#

Hinweis

  • Es wird nicht empfohlen, Gruppen aufgrund der begrenzten Anzahl an lizenzierten Gruppen zu löschen, sondern die bestehenden zu bearbeiten.
  • Aus technischen Gründen werden einmal verwendete Gruppen-IDs nicht freigegeben, wenn Sie die zugehörige Gruppe löschen. Dies bedeutet, dass die Gesamtzahl der Gruppen erhöht wird, auch wenn Gruppen gelöscht werden. Die IDs werden automatisch vom System vergeben.

Bitte beachten

Wenn eine vorhandene Gruppe gelöscht wird, verlieren alle Benutzer, die diese Gruppe übernehmen können, die damit verbundenen Berechtigungen.

Um eine Gruppe zu löschen, klicken Sie in der Gruppen-Verwaltung am Ende der Zeile der gewünschten Gruppe auf Löschen.



Benutzer konfigurieren#

Die Benutzer-Verwaltung ist unter System -> Benutzer zu finden, siehe folgende Abbildung :

Seite "BENUTZER-VERWALTUNG"

Dort können Sie:

  • die Benutzerliste filtern (in den Feldwerten "Nach"-/"Vorname", "Login", "E-Mail-Adresse": nach bestimmten Buchstaben und/oder nach dem Status aktiv/inaktiv/alle),
  • nach bestimmten Benutzern suchen (im Feld Freitextsuche),
  • eine Neuen Benutzer anlegen, siehe nächsten Abschnitt Neuen Benutzer anlegen,
  • bestehende Benutzer bearbeiten, indem Sie auf den Namen klicken,
  • Benutzer löschen, siehe Abschnitt Benutzer löschen.

Neuen Benutzer anlegen#

Bitte beachten

Der erste Benutzer im imperia-System ist immer der Superuser (mit der ID 1).
Der Superuser ist ein besonderer Fall, da er immer über alle Rechte verfügt und etwaige Zugriffsbeschränkungen keine Auswirkung auf diesen Benutzer haben.

  1. Klicken Sie in der Benutzer-Verwaltung auf Neuen Benutzer anlegen. Die Seite "BENUTZEREINSTELLUNGEN" erscheint: Seite "BENUTZEREINSTELLUNGEN" Die wichtigsten Eingabefelder werden Ihnen im Folgenden erläutert:

    • Benutzerinformationen:
      • Login (Pflichtfeld): Mit diesem Namen loggt sich der Benutzer ein.
      • Passwort (Pflichtfeld): Ein Passwort muss standardmäßig aus mindestens fünf alphanumerischen Zeichen bestehen. Eine Änderung dieser Einstellung nehmen Sie in der system.config vor.
      • Sprache: Die System-Sprache ist mit der Standardeinstellung vorbelegt, siehe auch Kapitel Allgemeine Einstellungen. Diese kann aber hier individuell eingestellt werden.
      • Aktiv (Checkbox): Hier können Sie das Profil des Benutzers (de)aktivieren, siehe dazu auch Benutzer löschen (nur als Superuser möglich).
    • Gruppenzugehörigkeit:
      Hier wählen Sie eine oder mehrere Gruppe(n) aus den bereits bestehenden Gruppen aus, die der Benutzer angehören soll. Der Benutzer kann nachträglich die Gruppe ändern.
    • Zugriffsrechte:
      Ändern Sie hier ggf. die Zugriffsrechte über die Einsicht und Bearbeitung der Einstellungen des Benutzers. Standardmäßig sind die Optionen wie in der Abbildung gewählt.
  2. Klicken Sie auf Speichern, um die Einstellungen zu speichern.

Der Benutzer ist nun im System angelegt und erscheint auch in der Benutzer-Verwaltung.

Lesen Sie für weitere, benutzerübergreifende Einstellungen auch im Kapitel Systemkonfiguration weiter.


Benutzer löschen#

Wichtig

  • Dokumente speichern die ID des letzten Autors.
  • Aus technischen Gründen werden einmal verwendete Benutzer-IDs nicht freigegeben, wenn Sie den Benutzer löschen. Dies bedeutet, dass die Gesamtzahl der Benutzer erhöht wird, auch wenn der Benutzer gelöscht wurde. Die IDs werden automatisch vom System vergeben.
  • Falls ein Benutzer gelöscht wird, ist es nicht erlaubt, seinen Namen wiederzuverwenden!
  • Die bevorzugte Alternative zum Löschen ist die Deaktivierung, siehe Checkbox "Aktiv" im Abschnitt Neuen Benutzer anlegen.

  1. Um einen Benutzer zu löschen, klicken Sie in der Benutzer-Verwaltung am Ende der Zeile des gewünschten Benutzers auf Löschen.
  2. Bestätigen Sie die Löschung.

Hinweis

Ein Löschen eines Benutzers kann nicht über Benutzeroberfläche rückgängig gemacht werden; dies gilt auch für den Superuser! Dies ist theoretisch über die Ebene des Dateisystems möglich.



LDAP/Verzeichnisdienste#

LDAP steht für "Lightweight Directory Access Protocol" und ist im Wesentlichen eine verteilte Datenbank im Netzwerk, basierend auf dem Client-/Server-Prinzip.
Eingesetzt wird es vor allem für die Authentifizierung, Verwaltung von Benutzerdaten sowie Autorisierung.
Ein LDAP-Client öffnet dabei eine Verbindung zu einem LDAP-Server und ruft oder liefert Informationen ab, die in die Liste aufgenommen werden sollen.

Die Vorgehensweise wird durch das Protokoll (derzeit Version 3 von LDAP) bestimmt. In diesem Zusammenhang wird LDAP auch als X.500 Lite bezeichnet. X.500 ist ein internationaler Standard für Verzeichnisse, aber mit einem viel komplizierterem Aufbau als bei LDAP.

Um LDAP in imperia zu verwenden, muss das LDAP-Perl-Modul Net::LDAP installiert werden. Sie können es bei http://www.cpan.org/ oder http://perl-ldap.sourceforge.net/ herunterladen. In einigen Linux-Distributionen ist es bereits vorhanden, muss aber installiert werden.

Das Thema "Datenbank" wurde unter anderem im Kapitel Dokumentenhaltung bereits behandelt. Daher werden im Folgenden die LDAP-Eigenschaften mit den Eigenschaften von Datenbanken und Dateisystemen verglichen:

Eigenschaft LDAP Datenbanken und Dateisysteme
Lese-, Schreibzugriff LDAP definiert Inhalt entsprechend des Lesezugriffs.


LDAP verfügt über keine Transaktionsmechanismen.
Datenbanken bieten beide Optionen, um den Lese- (z. B. MySQL) oder Schreibzugriff (Oracle) zu optimieren.

Bei Datenbanken ist so ein Transaktionsmechanismus oft ein wichtiger Sicherheitsaspekt in Bezug auf Datenverlust.
Datenstruktur Die Datenspeicherung wird für LDAP sowie Datenbanken durch eine Baumstruktur abgebildet. Dateien werden als Nodes im Baum abgebildet und können mehrere Giga- oder Megabyte besitzen.

LDAP ist jedoch dafür ausgelegt, dass ein Knoten einen ziemlich kleinen Speicher benötigt wie Benutzerdaten, die in den meisten Fällen ein Megabyte nicht überschreiten.
Datenzugriff innerhalb eines Nodes Mit LDAP ist ein direkter Zugriff auf separate Bytes nicht möglich, da die kleinste Lese- und Schreibeinheit das Attribut ist, das sich später erweitert. Bei Dateisystemen ist ein direkter Zugriff auf separate Bytes möglich. Dies bedeutet, dass das Byte die kleinste Lese- und Schreibeinheit in einem Dateisystem ist.
Gruppen- und Benutzerverwaltung Zusätzlich zur Gruppen- und Benutzerverwaltung bietet imperia die Möglichkeit, eine Verbindung zu einem LDAP-System herzustellen... ...dies ermöglicht den Einsatz einer vorhanden Gruppen- und Benutzerdatenbank in imperia. In diesem Fall wird die Verwaltung und Pflege dieses Verzeichnisses nicht mehr von imperia durchgeführt.

Hinweis

Es gibt verschiedene Plug-ins für die Benutzerverwaltung, die man unter site/modules/core/Dynamic/Authenticator einsehen kann.


Einschränkungen#

Mit der Integration des LDAP-Verzeichnisdienstes werden einige Features der imperia-Standardpakete eingeschränkt:

  • Die Verwaltung und Pflege von Gruppen- und Benutzerinformationen in imperia kann nicht mehr vollständig durchgeführt werden.
  • Mit einer LDAP-Verbindung wird die transitive Gruppenstruktur nicht aufgelöst wie bei der Benutzerverwaltung von imperia. Dies ist in Bezug auf die meisten Verzeichnisdienste irrelevant, da sie die transitive Gruppenverwaltung selbst lösen. Die Zugriffs- und Änderungsberechtigungen für andere Benutzer ändern sich nicht innerhalb der ersten LDAP-Implementierung.
    Das bedeutet, dass der Lesezugriff auf Benutzer und Gruppen für einen einzelnen Benutzer nicht verweigert werden kann.
  • Bei der Verwendung von ActiveDirectory unterstützt der LDAP-Server für Microsoft® derzeit nur eine Windows®-Domäne.

Verbindung zu einem Verzeichnisdienst#

Es gibt zwei Möglichkeiten, einen Verzeichnisdienst mit imperia zu verbinden:

  • imperia-Konto:

    • Diese Prozedur gewährt dem imperia-Server einen eigenen Zugriff auf einen Verzeichnisdienst, über den er Benutzer- und Gruppeninformationen lesen kann.
    • Informationen über einen Benutzer, die imperia benötigt, aber nicht im Verzeichnisdienst gespeichert werden können, werden im Dateisystem des imperia-Servers gespeichert.
  • Benutzerkonto:

    • Bei dieser Methode verwendet imperia den Zugriff eines angemeldeten Benutzers, um eine Verbindung mit einem Verzeichnisdienst herzustellen.
    • Dies garantiert, dass jeder Benutzer die Informationen sehen kann, auf die er aufgrund seines Kontos zugreifen kann.
    • Der Nachteil ist, dass sich der Benutzer jedes Mal anmelden und imperia das Passwort in einem Cookie speichern muss. Dies birgt ein gewisses Sicherheitsrisiko - trotz der Kodierung.

imperia-Login#

Es gibt mehrere Methoden, um sich über eine LDAP-Verbindung in imperia anzumelden:

  • Passwort:

    • Dies ist das Standard-imperia-Plug-in für die Authentifizierung.
    • In diesem Fall ist ein imperia-Konto erforderlich, um eine Verbindung zum Verzeichnisdienst herzustellen.
    • Zudem muss in der LDAP-Konfiguration ein Passwortfeld angegeben werden. Wenn dieses codiert im LDAP-Server gespeichert wird, muss die LDAP-Konfiguration password-encryption-Schlüsselwort entsprechend gesetzt werden.
  • Kerberos:

    • Wenn ein Benutzer bei einem Kerberos-Server angemeldet ist, kann er sich automatisch über das Kerberos-Plug-in über das entsprechende Ticket anmelden.
    • Dieses Plug-in erfordert eine Programminstallation auf dem Client, die Bestandteil des Lieferpakets von imperia ist.
      Es handelt sich um das Skript

      site/bin/kerberos_login.pl

    • Wenn das Programm gestartet wird, werden Benutzer in imperia angemeldet, ohne Benutzernamen und Passwort eingeben zu müssen. Wenn der imperia-Anmeldebildschirm aufgerufen wird, werden die Benutzer automatisch in das Menü umgeleitet. Das Kerberos-Plug-in funktioniert nur mit der Verbindung über ein imperia-Konto, um sich mit einem Verzeichnisserver zu verbinden.

  • LDAP:

    • Dies ist das primäre Authentifizierung-Plug-in für den Verzeichnis-Zugriff auf imperia.
    • Ein Benutzer tippt sein Passwort für den Verzeichnisdienst ein, um sich bei imperia anzumelden.
    • Zudem können die Anforderungsdaten auch so konfiguriert werden, dass sie entweder mit dem Benutzerkonto oder einem Standard-imperia-Konto gestartet werden.

Voraussetzungen für LDAP#

Folgende Konfigurationen werden für LDAP vorausgesetzt:

Die Konfiguration der LDAP-Verbindung muss in zwei Dateien manuell umgesetzt werden:

  • In der Datei /site/config/system.conf sowie

  • in der Datei /site/config/ldap.conf:

system.conf#

Folgende Variablen müssen hier gesetzt werden:

"UMLIGHT_PLUGIN" = "LDAPLight"
"DATABASE_STORAGE_PLUGIN" = "LDAP"

Optional kann ebenfalls das Plug-in für die Authentifizierung gesetzt werden (LDAP, Kerberos, etc.):

"AUTH_PLUGIN" = "LDAP"

ldap.conf#

In dieser Konfigurationsdatei müssen die Informationen für den Verzeichnisdienst und den LDAP-Zugriff sowie imperias Zugriff auf den Verzeichnisdienst gesetzt werden. Seit imperia 9.1 kann der Umfangswert ebenfalls konfiguriert werden.

Hinweis

Im Abschnitt LDAP.conf-Beispiel finden Sie Beispiele für die Konfiguration der PAM- und ADIR-Schemen.

Einige Hintergrundinformationen zur Datenstruktur eines LDAP-Verzeichnisses erhalten Sie auch auf Wikipedia (Stand: Okt. 2017). Auch werden dort die Attribute beschrieben:

  • Jedes Attribut eines Objekts hat einen bestimmten Typ und einen oder mehrere Werte.
  • Die Typenbezeichnungen der Attribute sind meist einfach zu merkende Kürzel wie zum Beispiel cn für common name, ou für organizational unit, st für state, c für country oder mail für e-mail address.

Informationen zum Verzeichnisdienst#
server        ldap.server.net
port          1234
version       3

Wenn die Variable version nicht gesetzt ist, wird automatisch die LDAP-Protokollversion 3 verwendet.

Informationen zum LDAP-Zugriff#

Informationen über den LDAP-Zugriff, mit denen imperia auf den Verzeichnisdienst zugreift, sind optional, falls das anonymous account nicht genügend Leseberechtigung hat, um einen imperia-Benutzer zu identifizieren. Für einen weiteren Zugriff außerhalb der Identifizierungsphase unterstützt die LDAP-Verbindung zwei weitere Methoden.

bind_dn       cn=Admin, 0=Imperia
password      secret
  • Wenn ein imperia-Benutzerpasswort gesetzt ist, wird es verwendet, um die Benutzer- und Gruppeninformationen aus dem Verzeichnisdienst auszulesen.

  • Wenn das imperia-Benutzerpasswort nicht gesetzt ist, wird das LDAP-Konto oder ein anonymous account verwendet.

Hinweis

Falls LDAP-Benutzer ihren eigenen Datensatz nicht sehen können, gibt es die Möglichkeit, einen administrative Account als Variable in die LDAP.Config setzen (mögliche Werte sind admin, user):

bindmode = admin

So wird der Administrative Account zum Laden der Benutzerinfo aus dem LDAP verwendet.

Liste der Benutzer-Container#

Das ist eine Liste der Container aus dem Verzeichnisdienst, in denen die möglichen Benutzer enthalten sind:

user_dn_1     ou=Development, o=Imperia, c=de
user_dn_2     ou=Sales, o=Imperia, c=de
user_dn_3     ou=Distribution, o=Imperia, c=de

Damit die Suche innerhalb eines Containers wirksam ist, ist sie auf eine Ebene begrenzt. Im oben genannten Beispiel reicht es also nicht aus user_dn_1, o=Imperia, c=de einzugeben.

Hinweis

Man kann in der LDAP.conf allerdings scope auf subtree setzen.

Liste der Benutzer-Attribute#

Diese Liste enthält alle Benutzerattribute, die im Verzeichnisdienst gespeichert sind. Definieren Sie die Namen, unter denen die Attribute gespeichert sind.

USERFIELDS
id *            uid
login *         cn
name            sn
comment         description
fname           fn
password        userPassword
telnumber       telephonenumber
END_USERFIELDS

Die Attribute werden als eine Liste zwischen den Keywords USER FIELDS und END_USERFIELDS eingeklammert. Die mit einem Asterisk markierten Felder (login und uid) werden als Pflichtfelder deklariert.

Stellen Sie sicher, dass die Textdarstellung des LDAP-Attributs für id eine positive Zahl ist und das login-Feld für den imperia-Benutzer eindeutig ist.

Abgesehen von der id können die folgenden von imperia definierten Daten-Eingabefelder von Benutzern als Attribute gesetzt werden:

name         comment       fname
login        password      language
homepage     addlinkmenu   addtextmenu
adddescmenu  addtexticon   bgcolor
street       city          zip
country      telnumber     cellular
faxnumber    background    email

Felder, die nicht im Verzeichnisdienst gespeichert werden können, werden im Dateisystem des imperia-Servers gespeichert.

Falls nicht das ursprüngliche Passwort anstelle des Passworts des LDAP-Plug-ins verwendet wird, wird imperia das Passwort-Feld nicht wirklich verwenden. Setzen Sie in diesem Fall auch eine Passwortverschlüsselung, siehe Informationen zum LDAP-Zugriff.

Bitte beachten

  • Anstelle einer eindeutigen numerischen Benutzer- oder Gruppen-ID werden im Verzeichnisdienst von Microsoft® (ActiveDirectory) die sogenannten binären SIDs verwendet. Diese werden grundsätzlich von imperia akzeptiert, allerdings muss dabei das ADIR-Gruppierungsschema gesetzt sein.
  • imperia erfordert, dass die jeweiligen RIDs und SIDs innerhalb der angenommenen imperia-Benutzerrollen eindeutig sind.

Kennwortverschlüsselung#

Diese Einstellung wirkt sich nur auf das Standard-Authentifizierung-Plug-in "Passwort" aus:

password-encryption `none`

Derzeit sind die Methoden none undMD5 implementiert.

Kennwortcodierung#

Um einen LDAP-Server zu registrieren/verbinden, ist vor der Übertragung eine Kennwortcodierung erforderlich, da sie nicht im Klartext übertragen werden kann.

password-encoding    SASL

Die implementierten Standardprozesse sind none undSASL. Zur Verwendung von SASL benötigen Sie LDAP-Protokoll-Version 3.

LDAP-Filter zur Identifikation von Benutzern#

Dieser Filter wird verwendet, um die in imperia vorhandenen und somit "gültigen" Benutzer zu identifizieren.

valid_user      (&(objectclass=Person))

Objekte (DIT), die diese erste Bedingung erfüllen, werden als imperia-Benutzer erkannt.

Liste der Gruppen-Container#

Das ist eine Liste aller Container aus dem Verzeichnisdienst, in denen die möglichen Gruppen enthalten sind:

group_dn_1      ou=Roles, o=Imperia, c=de

Hier können die Felder id,name und comment gesetzt werden. Das id-Feld ist dabei das einzige Pflichtfeld und muss numerisch sein.

Bitte beachten

Bei der Verwendung von ADIR-Gruppierungsschemata gilt die gleiche Ausnahme wie bei der UID.

Liste der Gruppen-Attribute#

Dies ist eine Liste aller Gruppen-Attribute, die im Verzeichnisdienst gespeichert sind. Diese Liste muss wie die Liste der Benutzer innerhalb von Tags eingegeben werden:

GROUPFIELDS
id           gid
name         name
comment      description
END_GROUPFIELDS
LDAP-Filter zur Identifikation von Gruppen#

Dieser Filter wird verwendet, um die in imperia vorhandenen und somit "gültigen" Gruppen zu identifizieren.

valid_group       (&(objectclass=Group))

Objekte, die diese Bedingung erfüllen, werden als imperia-Gruppen erkannt.

Gruppierungsschema#

Die Gruppen, die ein Benutzer annehmen kann, müssen in imperia sichtbar sein. Bei den Verzeichnisdiensten gibt es keinen einheitlichen Standard. Daher unterstützt imperia - vorläufig - das PAM-Schema.

grp_scheme     PAM

In diesem Zusammenhang enthalten Gruppen ein memberuid im Attribut (welches multivalued ist) und uid des Benutzers, dem sie angehören (Achtung! Nicht die uidnummer). Im Gegensatz dazu besitzen Benutzer kein Attribut, das alle Gruppen enthält, die sie annehmen können. Die Hauptgruppe der Benutzer, unter der die memberuid gesetzt werden muss, wird allerdings im Benutzerdatensatz unter gidnummer nicht abgebildet.

Gruppe Superuser#

imperias Superuser-Gruppe (standardmäßig die Gruppe mit der ID 0) kann bei der Verwendung von LDAP-Plug-ins einem Benutzer als Gruppe zugeteilt werden.

superuser_group       cn=cvs, ou=Roles, o=Imperia, c=de

Benutzer, die sich mit dieser Gruppe anmelden, besitzen alle Zugriffsrechte dieser Superuser-Gruppe.

Superuser-Zugriff#

Bitte beachten

Diese Einstellung wirkt sich nur auf das LDAP-Authentifizierung-Plug-in aus.

Die Verwaltung eines Superusers, der in imperia erstellt wurde, kann nicht über einen im Verzeichnisdienst erstellten Benutzer erfolgen. Trotzdem muss der Superuser einem Benutzer im Verzeichnisdienst zugeordnet werden. Dies geschieht auf folgende Weise:

superuser       cn=tgier, ou=People, o=Imperia, c=de

Wenn sich ein Benutzer als Superuser anmeldet, wird das eingegebene Passwort mit den Anmeldeinformationen des angegebenen DN-Eintrags verglichen und ein temporärer Benutzer mit der ID 1 wird erstellt.

Benutzerzugriff#

Bitte beachten

Diese Einstellung wirkt sich nur auf das LDAP-Authentifizierung-Plug-in aus.

Wenn diese Variable gesetzt ist, stellt das LDAP-Authentifizierung-Plug-in eine Verbindung zum Verzeichnisdienst bei jedem CGI-Aufruf von einem Benutzer her.

userbind      yes

Zum Verständnis: Wenn diese Variable weggelassen wird (0), übernimmt imperia die gesamte Information aus dem Verzeichnisdienst über den konfigurierten Administratorzugriff.

Schreibzugriff#

Der Schreibzugriff auf den Verzeichnisdienst über LDAP wird durch die Einstellung der folgenden Variablen verhindert:

readonly      yes

imperia als Front-End für einen LDAP-Verzeichnisdienst#

Bitte beachten

Diese Funktion wird derzeit entwickelt.

Wenn imperia als Front-End für einen LDAP-kompatiblen Verzeichnisdienst verwendet werden soll, sind folgende Einstellungen erforderlich:

RDN-Attribut für einen neuen Benutzer eingeben#
user_rdn_attribute       cn
Objektklassen eines neuen imperia-Benutzer#
OBJECTCLASSES_USER
top
person
ImperiaUser
END_OBJECTCLASSES_USER
RDN-Attribut für eine neue Gruppe eingeben#
group_rdn_attribute      cn
Objektklassen einer neuen imerpia-Gruppe#
OBJECTCLASSES_GROUP
top
posixGroup
END_OBJECTCLASSES_GROUP

LDAP.conf-Beispiel#

Im Folgenden erhalten Sie Beispiele von LDAP.conf für die PAM- und ADIR-Gruppierungsschemen.

PAM#

## Servername and IP address for LDAP server.
serverldap.imperia.net
port389

## DN and password from ldap administrator
## None if we are using the Anonymous Binding.
##bind_dn "cn=Admin, o=intern"
##password superuser

## Container for user entries and attribute for RDN. So the DN of every
## user have the form
## "user_rdn_attribute=value_of_user_rdn_attribute, user_dn"
user_dn_1 ou=People, o=Imperia, c=de
##user_dn_2 ou=Sales, o=intern
##user_dn_3 ou=Purchase, o=intern
##user_dn_4 ou=Marketing, o=intern
##user_dn_5 "ou=Distribution, o=intern"
user_rdn_attribute cn

## Timelimit for search operations
timelimit 0

## Setting attributes for imperia user.
USERFIELDS
id uidnumber
name cn
login uid
END_USERFIELDS
valid_user (gidnumber=100)

## Setting objectclasses an imperia user belongs to.
##OBJECTCLASSES_USER
##top
##account
##posixAccount
##shadowAccount
##person
##organizationalPerson
##inetOrgPerson
##END_OBJECTCLASSES_USER

## Setting attribute for imperia groups
GROUPFIELDS
id gidnumber
name cn
comment cn
END_GROUPFIELDS

##
group_dn_1 ou=Groups, o=Imperia, c=de

valid_group (gidnumber>=0)

## Setting objectclasses an imperia group entry belongs to.
##OBJECTCLASSES_GROUP
##top
##posixGroup
##END_OBJECTCLASSES_GROUP

grp_schemePAM
superuseruid=tomg, ou=People, o=Imperia, c=de

ADIR#

## Servername and IP adress for LDAP server.
serverwindb
port389

## DN and password from ldap administrator
## None if we are using the Anonymous Binding.
bind_dn Administrator@activetest.hyper
password xxxxxxx

## Container for user entries and attribute for RDN.
user_dn_1 CN=Users,DC=activeTest,DC=hyper
user_rdn_attribute cn

## Timelimit for search operations
timelimit 0

## Setting attributes for imperia user.
USERFIELDS
id objectSid
name displayName
login cn
END_USERFIELDS

valid_user (objectclass=user)

## Setting objectclasses an imperia user belongs to.
##OBJECTCLASSES_USER
##END_OBJECTCLASSES_USER
## Setting attribute for imperia groups
GROUPFIELDS
id objectSid
name cn
comment description
END_GROUPFIELDS

##
group_dn_1 CN=Users,DC=activeTest,DC=hyper
group_dn_2 CN=Builtin,DC=activeTest,DC=hyper
valid_group (objectclass=group)

## Setting objectclasses an imperia group entry belongs to.
##OBJECTCLASSES_GROUP
##END_OBJECTCLASSES_GROUP

grp_schemeADIR
superuser CN=Administrator,CN=Users,DC=activeTest,DC=hyper
superuser_group CN=DomainAdmins,CN=Users,DC=activeTest,DC=hyper
##userbind1

Authentifizierung über HTTP#

Das Basic-Plug-in ist eine alternative Authentifizierungsmethode. Es unterscheidet sich von anderen Authentifizierungsmethoden in zweierlei Hinsicht:

  • Die Authentifizierung erfolgt ohne Cookies.
  • Die Authentifizierung von imperia wird überschrieben.

Stattdessen übernimmt der Webserver die Benutzerauthentifizierung. Erfolgreich registrierte Benutzer erhalten Zugang zum CMS.

Wichtig

Bei der HTTP-Authentifizierung können Passwörter nicht über den Menüpunkt Profil geändert werden.

Die Autorisierung der angemeldeten Benutzer erfolgt dennoch über die Benutzer- und Gruppenverwaltung des Systems. Ein Benutzer muss daher in imperia existieren, um das System zu nutzen.

Ein authentifizierter Benutzer hat keine Rechte im System ohne das imperia-Benutzerprofil. Er hat nur Zugang zu dem Menüpunkt Profil und dem internen Mailsystem.

Konfiguration#

Um die HTTP-Authentifizierung zu verwenden, muss folgendes durchgeführt werden:

  1. Stellen Sie das Verzeichnis cgi-bin in Ihrer Webserverkonfiguration als bereichsgeschützten Bereich ein. Gehen Sie dazu die in der Dokumentation Ihres Webservers beschriebenen notwendigen Schritte durch.

    Bitte beachten

    Beachten Sie, dass imperia die Autorisierung basierend auf den vom Webserver übergebenen Benutzerdaten ausführt. HTTP-Authentifizierungsdaten und imperia-Benutzerprofile müssen daher übereinstimmen, damit den Benutzern die entsprechenden Berechtigungen zugewiesen werden können.

  2. Umgehen Sie imperias Standard-Login-Seite (htdocs/imperia/index.html) in der HTTP-Authentifizierung:

    • Diese Seite sollte nicht mehr zugänglich sein.
    • Stattdessen sollte das site_main.pl-Skript direkt im Verzeichniscgi-bin aufgerufen werden.
    • Bei der Verlinkung von einer anderen Seite zum CMS sollten die Referenzen entsprechend angepasst werden.
      • Beispielsweise können Sie ein HTML-Dokument mit einem Verweis auf das site_main.pl-Skript im Verzeichnis cgi-bin erstellen.
      • Benennen Sie die Datei entsprechend um, so dass sie automatisch aufgerufen wird, wenn jemand auf den Entwicklungsserver zugreift.
      • Setzen Sie dieses Dokument in die Dokumentenwurzel Ihres Entwicklungssystems.
  3. Aktivieren Sie die HTTP-Authentifizierung in imperia: Suchen und ersetzen Sie hierfür die AUTH_PLUGIN-Variable im Verzeichnis site/config und ändern Sie sie zu:

    "AUTH_PLUGIN" = "Basic"
    

    Wichtig

    Es ist möglich, die HTTP-Authentifizierung auf dem Webserver für die übliche imperia-Anmeldung im Voraus zu ermöglichen. In diesem Fall müssen sich die Benutzer auch über die imperia-Authentifizierung anmelden. Wenn das cgi-bin-Verzeichnis nicht passwortgeschützt ist, ist die Anmeldung zum System nicht möglich, da die Daten des HTTP-Headers nicht mit dem Webserver verglichen werden können.

ERGEBNIS: Beim Zugriff auf site_main.pl erscheint dann eine Anmeldeaufforderung auf dem Webserver. Das imperia-Menü erscheint nach der erfolgreicher Authentifizierung.