Zum Hauptinhalt springen
Version: 12.0

Web-Client Login mit LDAP-Kopplung

Bei der Anmeldung am ADOIT Web-Client mit Hilfe des LDAP-Mechanismus werden ADOIT Benutzer direkt gegen einen Verzeichnisdienst (z.B. Active Directory oder eDirectory) authentifiziert.

Benutzer, die sich zum ersten Mal am ADOIT Web-Client anmelden, können abhängig von der Konfiguration "on-the-fly" in der ADOIT-Datenbank erzeugt werden. Sie werden vorkonfigurierten Benutzergruppen/System-Rollen zugewiesen. Optional werden ihnen spezifische Repositorys als Arbeitsplatz zugewiesen und sie werden mit diesen Repositorys geteilt, damit sie als Objekte in der Modellierung verfügbar sind.

Um diesen Authentifizierungsmechanismus zu konfigurieren, führen Sie folgende Schritte aus:

  1. Globale LDAP-Einstellungen adaptieren

  2. Konnektor-Spezifische Einstellungen adaptieren

  3. Authentifizierung von Benutzern starten

Hinweis

Dieser Authentifizierungsmechanismus basiert auf dem LDAPv3-Standard. Daher ist eine allgemeine Kompatibilität zu LDAPv3-konformen Verzeichnisdiensten gegeben. Der Authentifizierungsmechanismus wurde erfolgreich mit Microsoft Active Directory 2003/2008 R2 und eDirectory 8.8.6 getestet. Jeder andere Verzeichnisdienst erfordert eine vorherige Evaluierung.

Achtung

Um diesen Authentifizierungsmechanismus zu konfigurieren, benötigen Sie Erfahrung mit JSON. Wenn Sie Hilfe benötigen, wenden Sie sich an Ihren ADOIT-Kundenbetreuer.

Globale LDAP-Einstellungen adaptieren

Das Einrichten dieses Authentifizierungsmechanismus erfordert die Konfiguration bestimmter Verbindungsparameter und spezifischer Eigenschaften des Verzeichnisdiensts:

  • Öffnen Sie die Administratorseite. Klicken Sie auf der Symbolleiste ganz oben auf dem Bildschirm auf Mehr  , zeigen Sie auf Authentifizierung, und klicken Sie dann auf LDAP.

Im Folgenden sind die Konfigurationsparameter aufgeführt, die angepasst werden müssen.

Allgemeine LDAP-Parameter

Zuerst müssen Sie allgemein Parameter anpassen, die für alle Domänen gelten.

  • Bearbeiten Sie die LDAP-Einstellungen.

Passen Sie folgende Parameter an:

  • enabled

    Legt fest, ob die Verwendung des LDAP-Mechanismus global aktiviert ist oder nicht. Mögliche Werte sind ”true” oder ”false”.

  • Array "properties" (Eigenschaften: name etc.)

    Hier werden LDAP-Eigenschaften festgelegt, die für alle Benutzer zur Verfügung stehen sollen.

    Beispiel

    "properties": [ { "name": "cn" }]

    Legt die LDAP-Eigenschaft "cn" fest, die sich auf das Active Directory Attribut "Common Name" bezieht.

  • default_domain

    Die Kennung der Domäne, die als Standarddomäne verwendet werden soll. Die Standarddomäne wird verwendet, wenn keine Domäne angegeben wurde.

Domänen-spezifische LDAP-Parameter

Jetzt müssen Sie domänenspezifische Parameter anpassen.

  • Klicken Sie unter Authentifizierung > LDAP auf die Hinzufügen Schaltfläche , um eine neue Domäne hinzuzufügen.

  • Klicken Sie auf die Schaltfläche , um Ihre neue Domäne zu bearbeiten.

Die neue Domäne enthält bereits einige Parameter. Passen Sie folgende Parameter an:

  • name

    name repräsentiert die Kennung dieser Domäne. Dieser Wert muss innerhalb der Domänen eindeutig sein.

  • defaultConnector

    defaultConnector ist eine optionale Eigenschaft zur Festlegung des User Mappings, wenn LDAP nicht im Kontext eines bestimmten Authentifizierungsmechanismus (= Konnektors) verwendet wird. Ein Beispiel dafür ist die Synchronisation von Benutzern über einen geplanten Task.

  • provider_url

    Legt die URL für den LDAP-Verzeichnisserver fest. Dieser Wert hat die Form "ldap://host:port". Verwenden Sie IP-Adressen anstelle von Domänen-Namen, um eine DNS-Abfrage zu vermeiden.

  • security_protocol

    Falls Sie LDAPS verwenden, geben Sie hier ein SSL-kompatibles Protokoll an (z. B. 'SSL').

  • ssl_certificate

    ssl_certificate muss hinzugefügt werden, wenn Sie LDAPS verwenden. Sie können das SSL-Zertifikat (X509) angeben, das verwendet werden soll (nur der Dateiname, wenn Sie das Zertifikat über die Administratorseite hochgeladen haben). Alternativ können Sie ein vertrauenswürdiges Zertifikat global im Trust Store installieren.

  • principal

    principal muss zur Domänenkonfiguration hinzugefügt werden. Diese Eigenschaft repräsentiert den Benutzernamen des Hauptbenutzers zum Nachschlagen aller anderen Benutzer. Dieser Benutzer muss Lesezugriff auf alle Bereiche des Verzeichnisdiensts haben, die im ADOIT Web-Client verwendet werden.

  • principal_domain

    principal_domain muss zur Domänenkonfiguration hinzugefügt werden. Diese Eigenschaft repräsentiert die Domäne des Hauptbenutzers.

  • principal_format

    principal_format muss zur Domänenkonfiguration hinzugefügt werden. Diese Eigenschaft repräsentiert das Format, in dem der Name des Hauptbenutzers und seine Domäne für die initiale Kontexterzeugung festgelegt sind. Beispiele sind in der Hilfe Datei enthalten, die Sie von der Administratorseite herunterladen können.

  • password

    password muss zur Domänenkonfiguration hinzugefügt werden. Diese Eigenschaft repräsentiert das Passwort des Hauptbenutzers in verschlüsselter Form. Ein Hilfsprogramm zur Verschlüsselung des Passworts finden Sie im Verzeichnis "03 Web Client\03 Tools\02 Password Encryption Tool" auf dem Installationsmedium.

  • Array "unique_identifier"

    Ein Array von Strings, das als eindeutige Kennung des Benutzers für den internen Gebrauch dient. Um mehrere Eigenschaften zu definieren, fügen Sie sie zum Array hinzu (getrennt durch Beistriche):

    Beispiel

    "unique_identifier": [ "cn", "distinguishedName" ]

    Legt die LDAP-Eigenschaften "cn" und "distinguishedName" als eindeutige Kennungen fest.

    Die verschiedenen eindeutigen Kennungen werden nacheinander abgearbeitet und die erste gefundene verwendet.

  • login_base_dn

    Die Angabe der Basisdomäne, in der sich die Benutzerobjekte befinden.

  • login_filter

    Eine obligatorische Filteroption mit einem Benutzernamen-Platzhalter, um genau die gewünschte Benutzerobjekt abzurufen.

Konnektor-Spezifische Einstellungen adaptieren

Jeder Authentifizierungsmechanismus (= Konnektor) kann so konfiguriert werden, dass er die LDAP-Kopplung verwendet, um zusätzliche Benutzerdaten abzurufen. Die Authentifizierung gegen einen Verzeichnisdienst unter Verwendung der LDAP-Kopplung erfolgt jedoch nur, wenn die LDAP-Kopplung für den Standard-Konnektor konfiguriert wird.

  • Klicken Sie auf der Administratorseite auf der Symbolleiste ganz oben auf dem Bildschirm auf Mehr   , und klicken Sie dann auf Authentifizierung.

  • Bearbeiten Sie den Standard Login Konnektor (Schaltfläche ).

Dieser Abschnitt stellt den Standard-Konnektor dar. Wenn diese Verbindung aktiv ist, wird die Standard-Anmeldeseite angezeigt, auf der der Benutzer seinen Benutzernamen und sein Passwort eingeben kann. Wenn keine LDAP-Kopplung konfiguriert ist, werden diese Anmeldeinformationen verwendet, um den Benutzer gegen die verfügbaren Daten in der Datenbank zu authentifizieren. Wenn eine LDAP-Kopplung konfiguriert ist, werden die angegebenen Anmeldeinformationen für die Authentifizierung des Benutzers gegen den konfigurierten Verzeichnisdienst verwendet.

Im Folgenden sind die Konfigurationsparameter aufgeführt, die angepasst werden müssen.

LDAP Coupling

Mit folgenden Parametern können Sie die LDAP-Kopplung für diesen Konnektor aktivieren und konfigurieren.

  • ldap (Eigenschaft: enabled)

    Legt fest, ob die LDAP-Kopplung für diesen Konnektor aktiviert ist oder nicht. Mögliche Werte sind ”true” oder ”false”.

  • ldap (Eigenschaft: domains) [optional]

    Die Eigenschaft Domains ist ein Array von Kennungen der Domänen, die für die Authentifizierung verwendet werden sollen. Der Name der Domäne muss mit dem Namen einer Domäne übereinstimmen, die in den globalen LDAP-Einstellungen konfiguriert ist. Wenn keine Domäne angegeben ist, versucht ADOIT einen Benutzer nacheinander gegen alle Domänen zu authentifizieren, die in den globalen LDAP-Einstellungen konfiguriert sind.

User Mapping

Mit folgenden Parametern steuern Sie, wie der Authentifizierungsprozess mit Benutzern umgeht, die sich anmelden. Sie können beispielsweise festlegen, ob ein Benutzer erstellt werden soll, falls er noch nicht existiert, oder welche System-Rollen oder Benutzergruppen einem Benutzer zuzuordnen sind. Beispiele sind in der Hilfe Datei enthalten, die Sie von der Administratorseite herunterladen können.

  • Array "properties" (Eigenschaften: {name, attr})

    Mapping von LDAP-Eigenschaften auf Benutzerattribute in ADOIT.

    Beispiel

    "properties": [ { "name": "sn", "attr": "SURNAME" } ]

    Der Wert der LDAP-Eigenschaft "sn" wird in ADOIT dem Attribut "SURNAME" zugewiesen.

  • auto_create_user

    Legen Sie fest, ob Benutzer, die sich zum ersten Mal am ADOIT Web-Client anmelden, "on-the-fly" in der ADOIT-Datenbank erzeugt werden. Mögliche Werte sind ”true” oder ”false”.

auto_sync_user (Eigenschaften: enabled etc.)

Legen Sie fest, ob Benutzerdaten entsprechend den vom Verzeichnisdienst abgerufenen Informationen bei jeder Anmeldung und/oder bei jeder periodischen Synchronisation aktualisiert werden sollen. Manuelle Änderungen an den Daten eines Benutzers durch den ADOIT-Administrator werden damit überschrieben.

Welche Benutzerdaten synchronisiert werden, kann in den untergeordneten Eigenschaften dieses Parameters definiert werden:

  • enabled

    Legen Sie fest, ob diese Einstellung aktiviert oder deaktiviert ist. Mögliche Werte sind ”true” oder ”false”.

  • auto_sync_attributes

    Legen Sie fest, ob die Zuordnung von Benutzerattributen bei jeder Synchronisation aktualisiert werden soll. Mögliche Werte sind ”true” oder ”false”.

  • auto_sync_roles

    Legen Sie fest, ob die Zuordnung von System-Rollen bei jeder Synchronisation aktualisiert werden soll. Mögliche Werte sind ”true” oder ”false”.

  • auto_sync_groups

    Legen Sie fest, ob die Zuordnung von Benutzergruppen bei jeder Synchronisation aktualisiert werden soll. Mögliche Werte sind ”true” oder ”false”.

  • auto_sync_repos

    Legen Sie fest, ob die Zuordnung von Repositorys bei jeder Synchronisation aktualisiert werden soll. Mögliche Werte sind ”true” oder ”false”.

Die untergeordneten Eigenschaften werden nur ausgewertet, wenn enabled auf "true" gesetzt ist.

user_deletion_handling

Legen Sie in den untergeordneten Eigenschaften dieses Parameters fest, was mit Benutzern passiert, die während der Synchronisation nicht gefunden werden.

  • deleteNotFoundUsers

    Legen Sie fest, ob Benutzer, die während der Synchronisation nicht gefunden werden, gelöscht werden sollen. Mögliche Werte sind ”true” oder ”false”.

  • moveUndeletableUsersToGroup

    Legen Sie fest, ob Benutzer, die während der Synchronisation nicht gelöscht werden können, in eine bestimmte Benutzergruppe verschoben werden sollen. Beachten Sie, dass gleichzeitig userGroupForUndeletableUsers auf den Namen der Benutzergruppe verweisen muss. Ansonsten werden die Benutzer nicht verschoben.

  • userGroupForUndeletableUsers

    Setzen Sie diese Eigenschaft so, dass sie auf den Namen der Benutzergruppe verweist, in die Benutzer verschoben werden, die während der Synchronisation nicht gelöscht werden können. Dieser Parameter wird nur ausgewertet, wenn moveUndeletableUsersToGroup auf "true" gesetzt ist.

mapped_user_handling

Legen Sie in den untergeordneten Eigenschaften dieses Parameters fest, wie authentifizierte Benutzer Alias-Benutzern zugeordnet werden sollen.

  • mappings [{properties: name, type, match, mappeduser, mapexistingusers [optional]}]

    mappings ist ein Array von Objekten, die verwendet werden können, um Fälle festzulegen, in denen bereits authentifizierte Benutzer auf Alias-Benutzer gemappt werden (= als solche behandelt werden). Diese Alias-Benutzer repräsentieren die authentifizierten Benutzer, wenn sie sich am Web-Client anmelden. Beispielsweise können Sie so eine bestimmte Gruppe von Anwendern auf einen Benutzer mappen, der Zugriff auf das Organisationsportal hat.

    Ein Array besteht aus einem oder mehreren Mappingobjekten mit den folgenden Eigenschaften: name (= die Eigenschaft aus dem Verzeichnisdienst), type (entweder equals, equalsIgnoreCase oder contains), match (= die [teilweise] Übereinstimmung des Typs) und mappeduser (= der Alias-Benutzer in ADOIT [muss vorhanden sein, vertrautes Login muss aktiviert sein]). mapexistingusers ist eine optionale Eigenschaft, um festzulegen, welche Benutzer betroffen sind. Wenn der Wert auf "true" gesetzt ist, wird der authentifizierte Benutzer immer durch den Alias-Benutzer repräsentiert, wenn das Mapping zutrifft. Wenn der Wert auf "falsch" gesetzt ist, geschieht das nur, wenn der authentifizierte Benutzer noch nicht in der ADOIT-Datenbank existiert und auch nicht erstellt werden kann.

    Beispiel

    "mappings": [ { "name" : "memberOf", "type" : "contains", "match" : "Quality Management", "mappeduser" : "Reader2" }]

    Der Wert oder die Werte der Eigenschaft "memberOf" (Eigenschaft mit mehreren Werten) müssen "Quality Management" enthalten, damit der Benutzer auf den Alias-Benutzer "Reader2" gemappt wird.

  • default_mapping [optional]

    Der standardmäßige Alias-Benutzer, auf den Benutzer gemappt werden, falls kein im Array mappings festgelegtes Mapping zutrifft.

Mit den folgenden Parametern legen Sie fest, wie Benutzerdaten für die Zuordnung von System-Rollen, Benutzergruppen und Repositorys verarbeitet werden.

  • groups [{properties: name, type, match, targettype, targetname, mapexistingusers [optional]}]

    groups ist ein Array von Objekten, mit dem ein Mapping von LDAP-Eigenschaften auf Benutzergruppen in ADOIT festgelegt werden kann. Sie können mehrere Mappings zur Verfügung stellen, um einen Benutzer verschiedenen Benutzergruppen zuzuweisen.

    Ein Mapping besteht aus folgenden Eigenschaften: name (= die Eigenschaft aus dem Verzeichnisdienst), type (entweder equals, equalsIgnoreCase oder contains), match (= die [teilweise] Übereinstimmung des Typs), targettype muss auf group eingestellt sein, und targetname (= die Benutzergruppe in ADOIT [muss vorhanden sein]). mapexistingusers ist eine optionale Eigenschaft, um festzulegen, welche Benutzer betroffen sind. Wenn der Wert auf "true" gesetzt ist, wird der authentifizierte Benutzer immer durch den Alias-Benutzer repräsentiert, wenn das Mapping zutrifft. Wenn der Wert auf "falsch" gesetzt ist, geschieht das nur, wenn der authentifizierte Benutzer noch nicht in der ADOIT-Datenbank existiert und auch nicht erstellt werden kann.

    Beispiel

    "groups": [ { "name": "claim_group", "type": "contains", "match": "Designer", "targetType": "group", "targetName": "Designer", } ]

    Der Wert oder die Werte der Eigenschaft "claim_group" (Eigenschaft mit mehreren Werten) müssen "Designer" enthalten, damit der Benutzer zur Benutzergruppe "Designer" zugeordnet wird.

    Hinweis

    Um die Sprache der Benutzergruppennamen zu definieren, wählen Sie die gewünschte Sprache über die Schaltfläche Sprache auf der Seite Authentifizierung aus.

  • roles [{properties: name, type, match, targettype, targetname, mapexistingusers [optional], mfbID [optional])

    roles ist ein Array von Objekten, mit dem ein Mapping von LDAP-Eigenschaften auf System-Rollen in ADOIT festgelegt werden kann. Sie können mehrere Mappings zur Verfügung stellen, um einen Benutzer verschiedenen System-Rollen zuzuweisen.

    Ein Mapping besteht aus folgenden Eigenschaften: name (= die Eigenschaft aus dem Verzeichnisdienst), type (entweder equals, equalsIgnoreCase oder contains), match (= die [teilweise] Übereinstimmung des Typs), targettype muss auf roles eingestellt sein, und targetname (= der sprachunabhängige Name der System-Rolle in ADOIT [muss vorhanden sein]). mapexistingusers ist eine optionale Eigenschaft, um festzulegen, welche Benutzer betroffen sind. Wenn der Wert auf "true" gesetzt ist, wird der authentifizierte Benutzer immer durch den Alias-Benutzer repräsentiert, wenn das Mapping zutrifft. Wenn der Wert auf "falsch" gesetzt ist, geschieht das nur, wenn der authentifizierte Benutzer noch nicht in der ADOIT-Datenbank existiert und auch nicht erstellt werden kann.

    Um Rollen für den EA-Workflow an Benutzer zuzuweisen, müssen Sie zusätzlich die Eigenschaft mfbID="{63868638-23DC-482A-95E1-CA20A445F306}" definieren.

  • default_groups [optional]

    default_groups ist ein Array von Strings, welche standardmäßige Benutzergruppe definieren, denen die Benutzer zugewiesen werden sollen, falls keine der über das Array groups definierten Mappings zutrifft. Wenn diese Gruppe nicht vorhanden ist, werden die Benutzer der Standardgruppe zugeordnet.

    Hinweis

    Um die Sprache der Benutzergruppennamen zu definieren, wählen Sie die gewünschte Sprache über die Schaltfläche Sprache auf der Seite Authentifizierung aus.

  • default_roles [optional] {properties: name, mfbID}

    default_roles ist ein Array von Strings, welche die standardmäßigen System-Rolle definieren, falls keine der über das Array roles definierten Mappings zutrifft. Definieren Sie eine beliebige Anzahl von Objekten.

    name repräsentiert die Eigenschaft aus dem Verzeichnisdienst.

    Um Rollen für den EA-Workflow an Benutzer zuzuweisen, müssen Sie zusätzlich die Eigenschaft mfbID="{63868638-23DC-482A-95E1-CA20A445F306}" definieren.

  • repositories [{Eigenschaften: name, type, match, targettype, targetName, additionalConfig {object-group} [optional]}]

    repositories ist ein Array von Objekten, mit dem Sie Benutzer einem spezifischen Repository zuweisen können. Definieren Sie eine beliebige Anzahl von Objekten, um einen Benutzer verschiedenen Repositorys zuzuweisen. Wenn kein Repository konfiguriert ist, werden die Nutzer allen Repositorys zugewiesen. Außerdem können Sie eine Objektgruppe pro Repository festlegen, in der sich die zugewiesenen Benutzerobjekte befinden sollen.

    Für eine statische Zuweisung muss targettype auf repository eingestellt sein und die Eigenschaft targetName (= die ID eines Repositorys) definiert sein. Benutzer werden einem spezifischen Repository zugewiesen, ohne dass eine Vorbedingung erfüllt sein muss.

    Eine dynamische Zuweisung ist möglich, indem LDAP-Eigenschaften auf Repositorys gemappt werden. Eine solches Mapping besteht aus folgenden Attributen: name (= die Eigenschaft aus dem Verzeichnisdienst), type (entweder equals, equalsIgnoreCase oder contains), match (= die [teilweise] Übereinstimmung des Typs), targettype muss auf repository eingestellt sein, und targetName ist die ID eines Repositorys.

    Hinweis

    Um die ID eines Repositorys herauszufinden, nutzen Sie die Funktionalität ID in die Zwischenablage kopieren im Administrations-Toolkit. Wenn Sie pro Repository eine Objektgruppe für die Benutzerobjekte festlegen wollen, wenden Sie sich bitte an Ihren ADOIT-Kundenbetreuer.

Constraints

Sie können die Anwendbarkeit und die Verfügbarkeit eines Konnektors beschränken und z.B. nur bestimmte Konnektoren für Anfragen von bestimmten IP-Adressen zulassen.

  • constraint [{properties: type, mode, logic [optional], values}]

    Alle Constraints müssen vom Typ client-ip sein. Wenn eine Client-IP dem angegebenen Muster entspricht, wird der Konnektor entweder angewendet oder nicht (abhängig von der verwendeten Logik). Für den Typ client-ip können zwei verschiedene Modi definiert werden: match oder subnet. values ist ein Array von Strings, die bestimmte IP-Adressen darstellen.

Authentifizierung von Benutzern starten

Sobald die Änderungen auf der Administratorseite gespeichert werden, werden sie sofort wirksam. Ein Neustart ist nicht erforderlich.

Alle Benutzer, die sich an der oder den konfigurierten Domäne(n) anmelden können, sollten sich jetzt auch am ADOIT Web-Client anmelden können. Wenn Benutzer noch nicht in ADOIT vorhanden sind, werden sie dort erzeugt. Anhand des Mappings in der Konfiguration werden sie entsprechenden System-Rollen/Benutzergruppen zugewiesen.

(Optional) Fehlersuche

Fehler werden in den Dateien <Tomcat Installation>/logs/ADOIT12_0.log” und <ADOIT Installation/*_aworker.log> geloggt.