
Anmeldung am SAP Web Application Server
Einsatzmöglichkeiten
Wenn sich ein Client (z.B. Web-Browser) über eine URL mit dem SAP Web Application Server verbindet, wird in den meisten Fällen eine Anmeldung am SAP-System durchgeführt (Ausnahmen sind Seiten, die aus dem Cache kommen (in diesem Fall war der Benutzer schon angemeldet), statische Filezugriffe, etc.).
Hierfür gibt es verschiedene Verfahren, die im folgenden beschrieben werden. Sie werden in der Reihenfolge beschrieben, in der das System versucht, sie anzuwenden.
Voraussetzungen
Sie können für jeden ICF-Service festlegen, mit welchem Anmeldeverfahren er ausgeführt werden soll. Wie Sie dies mit der Transaktion SICF machen können und was es zu beachten gibt, ist unter
Anonyme Anmeldedaten beschrieben.
Ablauf
Wenn sich ein Client mit dem SAP Web Application Server verbindet und es ist ein Service zu dieser URL hinterlegt (
Anlegen eines ICF-Services), so prüft das System zunächst, ob obligatorische Anmeldedaten (gesetzt unter
Anonyme Anmeldedaten) oder ein Client-Zertifikat mit SSL verlangt ist (einstellbar unter
Sicherheitsanforderungen). Diese beiden Dinge schließen sich gegenseitig aus, und was von den beiden am weitesten oben im Pfad, der zu dem gewünschten Service führt, gesetzt ist, behält für den gesamten Pfad seine Gültigkeit. (Beispiel siehe unten.)- Gilt also Anmeldedaten obligatorisch, so wird die Anmeldung mit den bei diesem Service angegebenen anonymen Anmeldedaten vollzogen. Das Attribut
AUTHENTICATION_METHOD
von
IF_HTTP_SERVER wird auf den Wert
AUTHMETHOD_SERVICE
gesetzt.
Gilt Client-Zertifikat mit SSL, so wird dieses gesucht und damit die Anmeldung am System durchgeführt. Das Attribut
AUTHENTICATION_METHOD
von
IF_HTTP_SERVER wird auf den Wert
AUTHMETHOD_ CERTIFICATE
gesetzt.
Werden beide Verfahren in dem ICF-Pfad des Services nicht gefunden, wird nun in der folgenden Reihenfolge versucht, den Benutzer am System anzumelden.
- Anmeldung via HTTP-Felder (HTTP-Header-Felder oder Formfelder): dies sind sap-language, sap-client, sap-user, sap-alias und sap-password. (Wird sap-user angegeben, ist sap-alias ohne Belang, vgl.
Basic Authentication.) Das Attribut
AUTHENTICATION_METHOD
von
IF_HTTP_SERVER wird auf den Wert
AUTHMETHOD_FIELD
gesetzt.
Anmeldung via SSO-Ticket (MYSAPSSO2-Cookiefeld). Sind keine Anmeldedaten als Form- oder Header-Felder übergeben, so wird versucht, die Anmeldung mittels SSO-Ticket durchzuführen. Hierzu muß das Cookie-Feld MYSAPSSO2 gesetzt sein. Das Attribut
AUTHENTICATION_METHOD
von
IF_HTTP_SERVER wird auf den Wert
AUTHMETHOD_SSO
gesetzt.
Anmeldung via Basic Authentication. Enthält der Request das Header-Feld für die Basic Authentication, so wird der Benutzername gemäß der Einstellung unter
Basic Authentication entweder als Standard SAP-Benutzer (Defaulteinstellung) oder als Internetbenutzer (Alias des Benutzernamens, mit Transaktion SU01 gepflegt) interpretiert. Das Attribut
AUTHENTICATION_METHOD
von
IF_HTTP_SERVER wird auf den Wert
AUTHMETHOD_BASIC
gesetzt.
Anmeldung via SAP-Anmeldung. Hier wird eine normale SAP-Anmeldung mit Mandant, Benutzer, Passwort und Anmeldesprache durchgeführt. Dies wird vor allem bei der Kommunikation zwischen SAP-Systemen verwendet, weniger bei der Anmeldung via Web-Browser. Die Anweisung, diese Art der Anmeldung durchzuführen, erfolgt ebenfalls über ein Header-Feld. Das Attribut
AUTHENTICATION_METHOD
von
IF_HTTP_SERVER wird auf den Wert
AUTHMETHOD_SAP
gesetzt.
Anmeldung via Client-Zertifikat (HTTPS und Zertifikat). Hier wird versucht, die Anmeldung mittels Client-Zertifikat mit SSL durchzuführen. Die Voraussetzung ist, daß das entsprechende Header-Feld gesetzt ist, daß die Verbindung für HTTPS konfiguriert ist und daß das Client-Zertifikat vorhanden ist. Das Attribut
AUTHENTICATION_METHOD
von
IF_HTTP_SERVER wird auf den Wert
AUTHMETHOD_CERTIFICATE
gesetzt.
Sind all diese Verfahren nicht möglich, weil der Request keine Information über das zu verwendende Anmeldeverfahren enthält, wird die Default-Anmeldung durchgeführt: Anmeldung via Service user account. Sind die
anonymen Anmeldedaten gepflegt, so erfolgt die Anmeldung mit diesem Benutzer (und dem eingestellten Mandant und Anmeldesprache). Ist nichts eingetragen, so wird als Antwort HTTP 401 geschickt. Im Falle des Web-Browsers ist dies ein Popup, mit dem sich der Benutzer via HTTP Basic Authentication am SAP-System anmelden kann. Es werden dann der Defaultmandant und die Anmeldesprache des gewählten Benutzers genommen. Das Attribut
AUTHENTICATION_METHOD
von
IF_HTTP_SERVER wird auf den Wert
AUTHMETHOD_SERVICE
gesetzt.
Ergebnis
Der Benutzer ist am SAP-System angemeldet. Wurde ein anonymer Benutzer gepflegt, arbeitet der Client unter diesem Benutzer, ohne ihn zu kennen. Es müssen dann die richtigen Berechtigungen für diesen Benutzer gesetzt sein.
Wie die Anmeldesprache festgelegt wird, ist im Abschnitt
Bestimmung der Anmeldesprache beschrieben.
Beispiel
Ein Beispiel für die Wahl der Anmeldeprozedur ist im Abschnitt
Anonyme Anmeldedaten angegeben.