Connector für SAP Business Suite - Entwicklerhandbuch Teil 4 - Personalisierter SAP Zugriff / Single Sign On (SSO)
In einigen Szenarien wird es erforderlich sein, einen personalisierten SAP-Zugriff zu verwenden. Für den SAP-Zugriff wird mindestens der in den SAP-Datenquellen gepflegte Systembenutzer verwendet. Es ist aber auch möglich, einen benutzerabhängigen SAP-Benutzer zu verwenden, um dann im SAP-System die dort hinterlegten Berechtigungen zu beachten oder eine erneute Anmeldung am SAP zu vermeiden. In diesem Abschnitt wird erläutert, wie solche Anforderungen wie:
-
Passwortprüfung durch SAP
-
Zugriff auf SAP mit dem realen SAP-Benutzer
-
Aufruf von SAP-Webseiten (WebDynpro, BSP-Anwendungen) mit Single-Sign-On (SSO)
-
Start von SAPGUI-Transaktionen mit Parameterübergabe
umgesetzt werden können.
Loginmodus
An vielen Stellen mit SAP-Zugriff spielt der Loginmodus eine Rolle. Folgende Loginmodi werden vom Connector für SAP Business Suite verwendet:
Loginmode |
Verwendung |
---|---|
system |
Verwendung des an der SAP-Datenquelle hinterlegten Systembenutzers |
user |
Ausschließliche Verwendung der persönlichen Anmeldeinformationen des eingeloggten Portalbenutzers. Zur Ermittlung dieser Informationen werden keine Anmeldeinformationen ermittelt. Sind diese falsch, ist kein Zugriff auf SAP möglich. |
mixed |
Es wird versucht, einen Zugriff im user-Mode durchzuführen. Misslingt dies, wird der system-Modus verwendet. |
Die Anmeldeinformationen zu jedem Portalbenutzer können in der Intrexx-Benutzerverwaltung als Externes Login hinterlegt werden.
Welches Externe Login für die Anmeldung am SAP-Systems verwendet wird, kann an der SAP-Datenquelle angegeben werden.
Alternativ ist eine Portalanmeldung mit Passwortprüfung gegen ein SAP-System möglich. Dabei wird das eingebende Passwort gegen das angegebene SAP-System geprüft. In Intrexx muss ein gleichnamiger Benutzerstamm vorhanden sein. Eine parallele Passwortpflege bzw. –replikation ist dann nicht notwendig. Zusätzlich ermöglicht diese Anmeldeart auch Single-Sign-On-Szenarien über SAP-Logon-Tickets. Über die Skript-API des Connectors für SAP Business Suite ist eine gezielte Einflussnahme auf den personalisierten Zugriff möglich, um in Projekten weitere Login-Szenarien zu ermöglichen.
SAP Login-Module
Intrexx Login-Module ermöglichen die Autorisierung am Portal über externe Stellen. Zu den im Standard ausgelieferten Login-Modulen gehört beispielsweise die Prüfung gegen einen externen LDAP-Server. Das Portallogin kann so konfiguriert werden, dass verschiedene Login-Module nacheinander ablaufen, bis eines der Login-Module den Portalanwender autorisiert hat. Zu jedem möglichen Portalanwender muss ein Benutzerstamm in Intrexx existieren, der jedoch keine Passwortprüfung enthalten muss und über Intrexx-Bordwerkzeuge repliziert werden kann.Der Connector für SAP Business Suite bringt eigene Login-Module mit, die z.B. die Passwortprüfungen durch SAP für SAP-Benutzer, SU05-Internet-Benutzer oder SAP-Geschäftspartner implementieren. Das Portallogin und die aufzurufenden Login-Module werden in der Konfigurationsdatei "LucyAuth.cfg" des Portals gepflegt. Eine Login-Konfiguration, die erst über den SAP-Benutzerstamm, dann die SU05-Internet-Benutzer des Kundenstammes und anschließend das Intrexx Standardlogin-prüft, ist hier dargestellt:
SapUserAuth
{
net.initall.ixapi.auth.IxSAPLoginModuleUser sufficient
instance="saperp"
mapuser=false
initjco=false
debug=false;
net.initall.ixapi.auth.IxSAPLoginModuleIUser sufficient
instance="saperp"
logintype="KNA1"
initjco=false
debug=false;
de.uplanet.lucy.server.auth.module.intrexx.IntrexxLoginModule sufficient
debug=false;
de.uplanet.lucy.server.auth.module.anonymous.AnonymousLoginModule sufficient
debug=false;
};
Diese Konfiguration wird dann über den Portal Manager in der Benutzerverwaltung über das Hauptmenü Benutzer / Konfiguration / Authentifizierung aktiviert.
Das hier verwendete SAP-Login-Module ist die Voraussetzung für die Erzeugung von SAP-Logon-Tickets, die in Single-Sign-On-Szenarien verwendet werden. Bei der erfolgreichen Anmeldung des Portalanwenders am SAP-System wird automatisch ein solches Ticket generiert, das dann später für die Einbindung von SAP-Internetseiten oder SAP-Shortcuts verwendet werden kann.
Single-Sign-On mit SAP-Logon-Tickets
Single-Sign-On (SSO) bzw. die Vermeidung einer unnötigen mehrfachen Anmeldung wird mit Intrexx über SAP-Logon-Tickets erreicht. Informationen hierzu findet man beispielsweise im SAP-Hinweis "304450". Der SAP-Server muss dazu SSO-Tickets ausstellen und akzeptieren (RZ10-Parameter "login/accept*" und "login/create*"). Weiterhin muss die Transaktion "TRUSTSSO2" initialisiert sein. Das Portal erzeugt ein Ticket über den SAP-Funktionsbaustein "SUSR_CHECK_LOGON_DATA" im angegebenen SAP-System, das später für SSO-Szenarien zur Verfügung steht. Dieses Verfahren wird durch die SAP-Login-Module zur Verfügung gestellt. Das SAP-System muss für die Verwendung von Logon-Tickets konfiguriert werden (vgl. SAP Hinweis "612670"). Derzeit wird nur die Autorisierung mit SAP-Benutzername bzw. Alias und Passwort unterstützt (Funktionsbaustein "SUSR_CHECK_LOGON_DATA: AUTH_METHOD = "P""). Weitere Prüfungen werden evtl. später zur Verfügung gestellt oder lassen sich in Projekten verwirklichen.
Weitere Informationen
SAP Trust Manager SSO configuration
API Beschreibung Teil 1 - Übersicht
API Beschreibung Teil 2 - SAP Portal Plugin
API Beschreibung Teil 3 - Implementierung eigener Verarbeitungsmodule
API Beschreibung Teil 4 - Beispielcodings
Entwicklerhandbuch Teil 2 - Integrationsszenario SAP-Fremddatengruppe
Entwicklerhandbuch Teil 3 - Integrationsszenario Skripting