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 | ||||
---|---|---|---|---|
| ||||
|
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:
Der oder die Benutzer:in verfügt über einen Benutzerkontext in PEIQ PRINT NGEN.
Der oder die Benutzer:in verfügt über einen gültigen Geschäftspartner in PEIQ PRINT NGEN.
Der oder die Benutzer:in verfügt über eine gültige DInternetInfo (Status=”Aktiv”) in PEIQ PRINT NGEN.
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”.
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) | ||||||
---|---|---|---|---|---|---|
|
Include Page | ||||
---|---|---|---|---|
|
Nur für PEIQ-Mitarbeiter: