Nachgeordnete JAX-RS-Ressourcen schützen
Sie können nachgeordnete JAX-RS-Ressourcen (Java™ API for RESTful Web Services) schützen, indem Sie für die Authentifizierung die Methode BasicAuth konfigurieren und den LTPA-JAX-RS-Sicherheitshandler verwenden, um vom Single Sign-on für die Benutzerauthentifizierung profitieren zu können.
Vorbereitende Schritte
- Sie haben Ihre JAX-RS-Anwendung im Anwendungsserver installiert.
- Sie haben die Sicherheit für Ihre JAX-RS-Anwendung aktiviert.
- Sie haben Ihre JAX-RS-Anwendungen im Web-Container gesichert, indem Sie nachgeordnete JAX-RS-Anwendungen so konfiguriert haben, dass sie für die Benutzerauthentifizierung die Basisauthentifizierung (Methode BasicAuth) verwenden.
Informationen zu diesem Vorgang
Wenn JAX-RS-Ressourcen erstellt werden, kann ein neuer LTPA-JAX-RS-Sicherheitshandler für eine nahtlose Authentifizierung bei Aufrufen nachgeordneter Ressourcen verwendet werden.
Wenn eine Anwendung geschützte nachgeordnete JAX-RS-Ressourcen aufruft, muss sie sich gegenüber der Zielressource authentifizieren. Verwendet die Zielressource auf einem nachgeschalteten Server für die Sicherheit die Methode BasicAuth, kann die aufrufende Anwendung vom Single Sign-on (SSO) für JAX-RS-Ressourcen profitieren. Bei Verwendung des Single Sign-on wird ein authentifizierter Kontext an alle nachgeordneten Aufrufe weitergegeben. Mit einem LTPA-basierten Sicherheitsclient-Handler können Sie sich gegenüber nachgeordneten Ressourcen, die serverübergreifend verteilt sind, authentifizieren.
Nehmen wir zur Veranschaulichung dieses Szenarios an, dass Ihre Zelle zwei Server enthält und dass Sie auf beiden Servern JAX-RS-Ressourcen implementiert haben. Angenommen, Sie müssen vom server1 aus eine Ressource aufrufen, die auf server2 implementiert ist. Wenn Ressourcen auf server2 mit der Authentifizierungsmethode BasicAuth geschützt sind, verwenden Sie den LTPA-JAX-RS-Sicherheitshandler, um vom Single Sign-on zu profitieren und die Benutzerauthentifizierung nahtlos an nachgeordnete Aufrufe weitergeben zu können, ohne Benutzeridentitäten und -kennwörter in der Anwendung bereitstellen oder verwalten zu müssen.

Führen Sie die folgende Schritte aus, um die Benutzerauthentifizierung gegenüber einem nachgeschalteten Server mit dem JAX-RS-Sicherheitshandler zur Anwendungserstellungszeit zu konfigurieren.
Vorgehensweise
Ergebnisse
Sie haben sichere JAX-RS-Ressourcen definiert, sodass Sie beim Aufruf nachgeschalteter Ressourcen das Single Sign-on verwenden und die Benutzerauthentifizierung nahtlos an nachgeordnete Aufrufe weitergeben können, ohne in der Anwendung Benutzeridentitäten und -kennwörter angeben oder verwalten zu müssen.
Beispiel
import org.apache.wink.client.Resource;
import org.apache.wink.client.RestClient;
import org.apache.wink.client.ClientConfig;
import org.apache.wink.client.handlers.LtpaAuthSecurityHandler;
ClientConfig config = new ClientConfig();
LtpaAuthSecurityHandler secHandler = new LtpaAuthSecurityHandler();
// Diesen Sicherheitshandler zur Handlerkette hinzufügen
config.handlers(secHandler);
// REST-Clientinstanz erstellen
RestClient client = new RestClient(config);
// Ressourceninstanz, mit der interagiert werden soll, erstellen
// Wert für die Ressourcenadresse einsetzen
resource =
client.resource("http://localhost:8080/path/to/resource");
// Ein Aufruf der Ressource kann jetzt erfolgen.

![[8.5.5.6 oder höher]](../ng_v8556.gif)
ClientBuilder cb = ClientBuilder.newBuilder();
Client c = cb.build();
c.property("com.ibm.ws.jaxrs.client.ltpa.handler", "true");
String res = "";
res = c.target("http://" + serverIP + ":" + serverPort + "/" + moduleName + "/rest/ltpa")
.request()
c.close();
return res;