Angepasstes Weitergabetoken für die Weitergabe von Sicherheitsattributen implementieren

Dieser Artikel beschreibt, wie Sie eine eigene Weitergabetokenimplementierung erstellen, die im aktiven Thread definiert und downstream weitergegeben wird.

Informationen zu diesem Vorgang

Für die Weitergabe von Attributen, die nicht benutzerspezifisch sind, ist das Standardweitergabetoken normalerweise ausreichend. Falls Sie eine der folgenden Tasks ausführen möchten, sollten Sie das Schreiben einer eigenen Implementierung in Erwägung ziehen:
  • Eingrenzen Ihrer Attribute auf Ihre eigene Implementierung
  • Angepasste Serialisierung der Informationen. Sie müssen die Bytes am Ziel entserialisieren und diese Informationen wieder zum Thread hinzufügen, indem Sie in die Anmeldekonfigurationen des Systems für eingehende Daten ein angepasstes Anmeldemodul integrieren. Diese Task kann auch eine Verschlüsselung und Entschlüsselung erfordern.

Führen Sie die folgenden Schritte aus, um ein eigenes Weitergabetoken zu implementieren:

Vorgehensweise

  1. Schreiben Sie eine eigene Implementierung der Schnittstelle "PropagationToken". Es gibt viele verschiedene Möglichkeiten, die Schnittstelle "PropagationToken" zu implementieren. Stellen Sie in jedem Fall sicher, dass die für die Schnittstelle "PropagationToken" und die Tokenschnittstelle erforderlichen Methoden vollständig implementiert sind.

    [AIX Solaris HP-UX Linux Windows][z/OS]Stellen Sie diese Schnittstelle nach der Implementierung in das Verzeichnis Stammverzeichnis_des_Anwendungsservers/classes. Alternativ können Sie die Klasse in jedes private Verzeichnis stellen. Vergewissern Sie sich jedoch, dass das Klassenladeprogramm von WebSphere Application Server die Klasse finden kann und die entsprechenden Berechtigungen hat. Sie können die JAR-Datei oder das Verzeichnis mit dieser Klasse in die Datei server.policy aufnehmen, damit die Klasse die für den Servercode erforderlichen Berechtigungen hat.

    [IBM i]Stellen Sie die Klasse dieser Schnittstelle nach der Implementierung in das Verzeichnis Stammverzeichnis_des_Anwendungsservers/classes. Weitere Informationen zu Klassen finden Sie im Artikel Unterverzeichnis "classes" im Profil für angepasste Klassen erstellen.

    Tipp: Alle vom Framework für Weitergabe definierten Tokentypen haben ähnliche Schnittstellen. Im Wesentlichen sind die Tokentypen Markierungsschnittstellen, die die Schnittstelle "com.ibm.wsspi.security.token.Token" implementieren. Diese Schnittstelle definiert die meisten Methoden. Falls Sie mehrere Tokentypen implementieren möchten, sollten Sie eine abstrakte Klasse erstellen, die die Schnittstelle "com.ibm.wsspi.security.token.Token" implementiert. Alle Ihre Tokenimplementierungen, einschließlich der Implementierung des Weitergabetoken, können die abstrakte Klasse erweitern, sodass kaum weitere Schritte erforderlich sind.

    Ein Beispiel für die Implementierung des Weitergabetokens finden Sie im Artikel Beispiel: Implementierung von com.ibm.wsspi.security.token.PropagationToken.

  2. Fügen Sie das eigene Weitergabetoken bei WebSphere Application Server-Anmeldungen hinzu, und empfangen Sie es. Zu diesem Zweck wird in der Regel ein angepasstes Anmeldemodul zu den verschiedenen Anmeldekonfigurationen für Anwendungen und Systeme hinzugefügt. Sie können die Implementierung auch von einer Anwendung aus hinzufügen. Zum Entserialisieren der Informationen müssen Sie ein angepasstes Anmeldemodul anbinden. Dieser Schritt ist im Artikel Angepasstes serialisierbares Java-Objekt für die Weitergabe von Sicherheitsattributen weitergeben beschrieben. Die Klasse WSSecurityPropagationHelper hat APIs, mit denen ein Weitergabetoken im Thread definiert und für Aktualisierungen vom Thread empfangen werden kann.

    Das Codebeispiel im Artikel Beispiel: Angepasstes Anmeldemodul mit Tokenweitergabe zeigt, wie Sie feststellen können, ob es sich bei der Anmeldung um eine Erstanmeldung oder eine weitergegebene Anmeldung handelt. Diese Anmeldetypen unterscheiden sich durch das Vorhandensein bzw. Nichtvorhandensein von Weitergabedaten im Callback WSTokenHolderCallback. Enthält der Callback keine Weitergabedaten, initialisieren Sie eine neue eigene Weitergabetokenimplementierung, und definieren Sie sie im Thread. Enthält der Callback Weitergabedaten, suchen Sie nach der TokenHolder-Instanz für Ihr Weitergabetoken, konvertieren Sie das Byte-Array zurück in Ihr angepasstes PropagationToken-Objekt, und definieren Sie es erneut im Thread. Das Codebeispiel zeigt beide Instanzen.

    Immer, wenn Ihr eigenes Weitergabetoken zum Thread hinzugefügt wird, können Sie Attribute hinzufügen. Falls Sie zwischen Anforderungen Attribute hinzufügen und sich die Methode getUniqueId ändert, wird die CSIv2-Clientsitzung annulliert, damit sie die neuen Informationen an die untergeordneten Einheiten senden kann. Das Hinzufügen von Attributen zwischen Anforderungen kann Auswirkungen auf den Durchsatz haben. In vielen Fällen sollen die nachgeschalteten Anforderungen die Informationen zum neuen Weitergabetoken erhalten.

    Rufen Sie die Methode "WSSecurityPropagationHelper.addPropagationToken" auf, um das eigene Weitergabetoken zum Thread hinzuzufügen. Dieser Aufruf setzt die Java-2-Sicherheitsberechtigung "WebSphereRuntimePerMission" des Typs "setPropagationToken" voraus.

  3. Fügen Sie Ihr angepasstes Anmeldemodul zu den WebSphere Application Server-Konfigurationen für Systemanmeldung hinzu, die bereits das Anmeldemodul "com.ibm.ws.security.server.lm.wsMapDefaultInboundLoginModule" für den Empfang serialisierter Versionen des angepassten Weitergabetokens enthalten. Sie können dieses Anmeldemodul auch zu den Anmeldungen der Anwendungen hinzufügen, bei denen während der Anmeldung Ihr eigenes Weitergabetoken im Thread generiert werden soll. Alternativ dazu können Sie die eigene PropagationToken-Implementierung innerhalb Ihrer Anwendung generieren. Zum Entserialisieren des Token müssen Sie die Implementierung jedoch zu den Systemanmeldemodulen hinzufügen.

    Wie Sie Ihr angepasstes Anmeldemodul zu den vorhandenen Anmeldekonfigurationen hinzufügen können, erfahren Sie im Artikel Angepasste Anmeldemodule für eine Systemanmeldekonfiguration für JAAS entwickeln.

Ergebnisse

Nach Ausführung dieser Schritte haben Sie ein eigenes PropagationToken implementiert.

Symbol, das den Typ des Artikels anzeigt. Taskartikel



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