Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

Diese Dokumentation umfasst die Settings-Dateien und das Customizing, welche für die Konfiguration des Logins via SAML (= Security Assertion Markup Language) für PHP-Module von PEIQ, wie z.B. NGEN Mobil, MPI oder ERAM, benötigt werden.

Über das SAML Login-Formular können sich Benutzer:innen in PHP-Modulen von PEIQ mittels UPN (= User Principal Name) und Passwort authentifizieren. Die Authentifizierung kann dabei gegen verschiedene Identity Provider, wie z. B. Microsoft Azure Active Directory, erfolgen.

Funktionalitäten des SAML-Logins

  • Anmeldung im PHP-Modul von PEIQ via Login-Formular

  • Umschalten der Login-Methode auf "SAML" via Customizing/PHP-Setting

  • Authentifizierung durch Identity Provider, wie Microsoft Azure Active Directory, mittels UPN und Passwort

  • Mapping des Eintrags oder Users im Identity Providers auf den/die PRINT NGEN Benutzer:in (customizebar)

Inhaltsverzeichnis

Expand
titleInhaltsverzeichnis anzeigen
Table of Contents
maxLevel4

Allgemeine Beschreibung

Nach dem Umschalten der Login-Methode auf "SAML" müssen sich Benutzer:innen beim Aufruf bestimmter URLs von PEIQ-Modulen im Browser über einen Identity Provider (z. B. das Active Directory (“AD“) des/der Verlags-Kund:in) authentifizieren. Falls der/die Benutzer:in noch nicht eingeloggt ist, wird er/sie auf eine Login-Seite, die der Identity Provider zur Verfügung stellt, weitergeleitet.

Durch das vom jeweiligen Verlag verwaltete Single-Sign-on-Verfahren (“SSO”) reicht es aus, dass jede:r Benutzer:in nur an einer zentralen Stelle gepflegt wird (d. h. nur ein Login). Er/sie kann jedoch auf unterschiedlichen Servern (Hostnamen) mit verschiedenen Benutzerkontexten eingeloggt werden.

Um eine Zuordnung der Active-Directory-Benutzer:innen zu den entsprechenden PRINT NGEN Benutzerkontexten zu implementieren, werden zwei neue Attribute “DIntKontext” und “DIntUserPrincipalName” in der “Schema_07_Geschaeftspartner.txt” eingeführt. Anhand dieser erfolgt die Zuordnung der Benutzer:innen aus dem Active Directory auf den/die PRINT NGEN Benutzer:innen. 

Note

Es ist nicht möglich, mehrere DInternetInfos mit demselben Login anzulegen, da der Login-Name eindeutig sein muss.

Tip

Voraussetzung des SAML-Logins für Webmodule ist die PHP-Version 8.2. Eine fehlerfreie Funktionalität unter PHP-Version 8.1 kann durch PEIQ nicht gewährleistet werden.

Gewährleistung der Eindeutigkeit mittels Datenbank-Index

Note

Der Eindeutigkeits-Index wird durch PEIQ in der Datenbank angelegt. Vorab muss bitte ein DInternetInfo-Cluster mit den beiden neuen Attributen in PRINT NGEN gespeichert werden, damit die Spalten in der Datenbank angelegt werden.

Bitte wenden Sie sich rechtzeitig vor der Produktivnahme an PEIQ, damit Ressourcen zum Erstellen des Index in der Produktionsdatenbank freigehalten werden.

Damit die Kombination aus den beiden neuen Attributen DIntUserPrincipalName und DIntKontext eindeutig ist, muss in der Datenbank ein Index auf die beiden neuen Spalten gelegt werden.

Code Block
create unique index DInternetInfo_UPN_Kontext on DInternetInfo (DIntKontext, DIntUserPrincipalName);

Login mit Microsoft Azure Active Directory

Benutzer:innen melden sich bei der Authentifizierung via Azure Active Directory mithilfe von UPN und Passwort im verlagseigenen SSO (= Single-Sign-on) an.

Sind die Authentifizierung und die Anmeldung erfolgreich abgeschlossen, werden die Benutzer:innen auf die Startseite des jeweiligen Webmoduls von PEIQ weitergeleitet.

Voraussetzung für die Nutzung des SAML-Logins in der PRINT NGEN Benutzerverwaltung

Um sich via SAML im PHP-Modul einloggen zu können, müssen folgende Kriterien erfüllt sein:

  1. Der oder die Benutzer:in verfügt über einen Benutzerkontext in PEIQ PRINT NGEN.

  2. Der oder die Benutzer:in verfügt über einen gültigen Geschäftspartner in PEIQ PRINT NGEN.

  3. Der oder die Benutzer:in verfügt über eine gültige DInternetInfo (Status=”Aktiv”) in PEIQ PRINT NGEN.

  4. Benutzerkontext, Geschäftspartner und InternetInfo müssen in PEIQ PRINT NGEN miteinander verbunden sein.

Konfiguration des SAML-Logins für das Modul NGenMobil

Folgende Konfigurationen für den SAML-Login (= Security Assertion Markup Language) von PRINT NGEN Mobil müssen vorgenommen werden:

PRINT NGEN: InternetInfo

Note

Die Konfiguration der “DInternetInfo”-Cluster in PRINT NGEN erfolgt durch den/die Kund:in

An der “DInternetInfo” in PRINT NGEN gibt es zwei neue Attribute “DIntUserPrincipalName” sowie “DIntKontext”.

In die Eigenschaft “DIntUserPrincipalName” wird der User Principal Name des/der Benutzer:in beim Identity Provider eingetragen. Der UPN muss genauso eingetragen werden, wie er im Active Directory eingepflegt ist.In die Eigenschaft “DIntKontext” wird der Hostname eingetragen

Sofern über die Abbildung “SamlServerNameContext”, siehe nächstes Kapitel, nicht auf einen anderen Kontext gemappt wird, kann der Hostname als Kontext eingetragen werden.

Tip

Voraussetzung ist, dass bei dem/der Kund:in eine “Schema_07_Geschaeftspartner.txt” eingesetzt wird, in der die beiden Attribute “DIntUserPrincipalName” und “DIntKontext” in der Tabelle “DInternetInfo” eingetragen sind.

PRINT NGEN: Abbildungen (optional)

“SamlServerNameToContext”

In dieser Abbildung kann ein Mapping für “$_SERVER['HTTP_HOST']” auf das Attribut “DIntKontext” hinterlegt werden. Ist kein Eintrag in der Abbildung angegeben oder existiert die Abbildung nicht, wird der Hostname ungemappt verwendet.

Diese Abbildung kann verwendet werden, um beispielsweise abhängig vom Test-/Prodsystem oder Mandant unterschiedliche Hosts auf einen gemeinsamen Kontext zu mappen. Dies kann dann hilfreich sein, wenn sich ein:e Benutzer:in mit einem Login in mehreren Systemen einloggen möchte.

Eine beispielhafte Abbildung könnte folgendermaßen aussehen:

Code Block
"ngenmobile.mandant1-test.de" {"Mandant 1"} /Test
"ngenmobile.mandant1.de" {"Mandant 1"} /Prod
"ngenmobile.mandant2-test.de" {"Mandant 2"} /Test
"ngenmobile.mandant2.de" {"Mandant 2"} /Prod
“SamlNameToUserPrincipalName”

In dieser Abbildung kann optional ein Mapping der UPN des Identity Providers auf das Attribut “DIntUserPrincipalName” hinterlegt werden. Ist kein Eintrag in der Abbildung angegeben oder existiert die Abbildung nicht, wird der User Principal Name ungemappt verwendet.

Der UPN des Identity Providers wird durchgereicht, sodass ein separates Mapping der UPN auf das Attribut “DIntUserPrincipalName” i. d. R. nicht benötigt wird. Falls doch, kann das Mapping individuell pro Benutzer:in in der Abbildung eingerichtet werden.

Eine beispielhafte Abbildung könnte folgendermaßen aussehen:

Code Block
"tester1@peiq.de"		{"max.mustermann"}

PHP: /Session+/Settings/Standard.inc

Note

Die Konfiguration des Files auf dem Webserver erfolgt durch den/die Kund:in.

In diesem PHP-File muss die Login-Methode für das Webmodul PRINT NGEN Mobil auf SAML umgestellt werden. Dazu sind folgende Einstellungen notwendig:

Code Block
...
define('SESSION_LOGIN_TYPE', 8);
...
//define("SESSION_LOGIN_PAGE",   "/Login_Plus/PHP-Files/login.php");
define("SESSION_LOGIN_PAGE",   "/generic_saml/ssologin.php");
...

PHP: /generic-saml/settings.php

Note

Die Konfiguration des Files auf dem Webserver erfolgt durch den/die Kund:in.

In diesem settings-File müssen sowohl der entsprechende Hostname des Servers in “$spBaseUrl” (bitte “HOSTNAME” ersetzen!) sowie individuell das gültige Zertifikat des Identity Providers unter “CERTIFICATE” (bitte “CERTIFICATE” ersetzen!) eingetragen werden.

Verwandte Seiten

Filter by label (Content by label)
showLabelsfalse
showSpacefalse
cqllabel = "redaktion" and space = "PPSD"
Include Page
Disclaimer der PEIQ PRINT NGEN - Produktdokumentation
Disclaimer der PEIQ PRINT NGEN - Produktdokumentation

Nur für PEIQ-Mitarbeiter:

/wiki/spaces/CORE/pages/1307082845