API von WebSphere Application Server für Downstream-Web-SSO mit einem LtpaToken2-Cookie

Sie können die Downstram-Web-SSO-Weitergabe von LTPA-Cookies (Lightweight Third Party Authentication) über das Programm durchführen, ohne dass eine Anwendung Benutzerberechtigungsnachweise speichert und sendet.

WebSphere Application Server bietet API-Unterstützung für die Weitergabe eines LtpaToken2-Cookies an nachgeschaltete (Downstream-)Web-SSO-Anwendungen.

Webanwendungen, die in WebSphere-Server der mittleren Schicht ausgeführt werden, müssen möglicherweise LtpaToken2-Cookies an Downstream-Webaufrufe weitergeben. In diesem Release von WebSphere Application Server wird eine neue Anwendungsprogrammierschnittstelle (API) bereitgestellt, die Anwendungsentwickler verwenden können, um Downstream-SSO über das Programm durchführen zu können, ohne dass eine Anwendung Benutzerberechtigungsnachweise speichert und sendet.

Abbildung 1. Verwendung der LTPA-Cookie-API für DownstreamauthentifizierungVerwendung der LTPA-Cookie-API für Downstreamauthentifizierung
Diese Funktion ist eine öffentliche API im Paket "com.ibm.websphere.security.WSSecurityHelper" und ist wie folgt definiert:
/**
   * Sie extrahiert ein LTPA-SSO-Token aus dem Subjekt des aktuellen Threads
   * und erstellt daraus ein LTPA-Cookie, das in Downstream-Webaufrufen
   * verwendet werden kann.
   * Wenn der zurückgegebene Wert nicht null ist, werden die Cookiemethoden
   * getName() und getValue() verwendet, um den Cookie-Header in einer
   * HTTP-Anforderung mit dem Headerwert Cookie.getName()=Cookie.getValue()
   * zu setzen.
   *
   * @return Objekt des Typs javax.servlet.http.Cookie.
   * 
   */
Das folgende Beispiel veranschaulicht die Verwendung der neuen WSSecurityHelper-API.
import javax.servlet.http.Cookie;
import com.ibm.websphere.security.WSSecurityHelper;

Cookie ltpaCookie = WSSecurityHelper.getLTPACookieFromSSOToken()
Veraltetes Feature Veraltetes Feature: Die Methode "getLTPACookieFromSSOToken()" aus der Klasse "WSSecurityHelper" wird nicht weiter unterstützt. Verwenden Sie die mit der Methode "getSSOCookieFromSSOToken()" aus der Klasse "WebSecurityHelper" bereitgestellte Funktionalität.depfeat
Anschließend kann das LTPA-Cookie im HTTP-Anforderungsheader gesetzt werden. In diesem Fall ist der Wert des Cookie-Headers die folgende Zeichenfolge:
ltpaCookie.getName()=ltpaCookie.getValue()
Wenn Sie beispielsweise org.apache.commons.httpclient.HttpMethod für die Erstellung Ihrer HTTP-Anforderung verwenden, kann das LTPA-Cookie wie folgt definiert werden:
HttpMethod method = .;  // neue HttpMethod basierend auf dem
                        // Ziel-URL der Webanwendung
if (ltpaCookie != null)
     method.setRequestHeader(“Cookie”, ltpaCookie.getName()+”=”+ltpaCookie.getValue());
Anmerkung: Sie sollten LTPA-Cookies nur über SSL-Verbindungen senden.
Anmerkung: Sie müssen prüfen, ob das LTPA-Cookie, das vom Aufruf von "WSSecurityHelper.getLTPACookieFromSSOToken()" im vorherigen Beispiel zurückgegeben wird, nicht null ist, bevor Sie eine Getter-Methode ausführen. Für einen erfolgreichen Abruf eines LTPA-Cookieobjekts und zur Gewährleistung eines SSO-Tokens im Ausführungsthread müssen Sie sicherstellen, dass der Benutzer eine erfolgreiche Authentifizierung mit dem Server der mittleren Schicht durchgeführt hat.
Anmerkung: Im Lieferumfang von WebSphere Application Server sind keine unterstützenden JAR-Dateien für die HTTP-Programmierung, wie z. Apache httpclient, enthalten. Für die HTTP-Programmierung müssen Sie eigene unterstützende Funktionen bereitstellen.

Symbol, das den Typ des Artikels anzeigt. Konzeptartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=csec_sso_down
Dateiname:csec_sso_down.html