Untergeordneten Nachrichtenfluss erstellen

Der Nachrichtenfluss für den Mustercode 'Security Identity Propagation' wird bereitgestellt, Sie können diesen Nachrichtenfluss jedoch wie folgt auch selbst erstellen:

  1. Erstellen Sie einen neues Nachrichtenbrokerprojekt mit dem Namen 'SecurityIdentitySampleFlowProject'.
  2. Erstellen Sie in diesem Projekt einen neuen Nachrichtenfluss mit dem Namen 'SecurityIdentitySubFlow'. Anweisungen hierzu finden Sie in der Dokumentation zu WebSphere Message Broker im Abschnitt Nachrichtenfluss erstellen.
  3. Fügen Sie im Nachrichtenflusseditor die in der folgenden Tabelle aufgelisteten Knoten hinzu, und benennen Sie diese um. Die entsprechenden Anweisungen finden Sie in der WebSphere Message Broker-Dokumentation unter Knoten hinzufügen.
    Palettenfächer Knotentyp Knotenname
    Aufbau Input Input
    Transformation Rechnen MapIdentity
    HTTP HTTPAnforderung HTTPRequest_AsID
    Transformation Rechnen ClrHdrs
    Aufbau Output Output
  4. Verbinden Sie die Knoten in der in der Tabelle oben angegebenen Reihenfolge. Anweisungen hierzu finden Sie in der Dokumentation zu WebSphere Message Broker im Abschnitt Knoten verbinden.
    Überprüfen Sie anhand der Abbildung im Abschnitt Informationen zum Mustercode 'Security Identity Propagation', ob die Knoten korrekt miteinander verbunden wurden.
  5. Klicken Sie im Nachrichtenflusseditor doppelt auf den Rechenknoten 'MapIdentity', um den 'ESQL-Editor' zu öffnen. Kopieren Sie die im Folgenden wiedergegebenen ESQL-Code-Module in die ESQL-Datei und speichern Sie dann die Datei. Weitere Informationen finden Sie in der Dokumentation zu WebSphere Message Broker im Abschnitt ESQL erstellen.
    	CREATE FUNCTION Main() RETURNS BOOLEAN
    	BEGIN
    		CALL CopyEntireMessage();
    		-- Zugeordnete Identität setzen, wenn Eingabenachricht das "Flag"
    		-- enthält, um Identitätsabgleich auszulösen
    		DECLARE MapIdActionsRef REFERENCE TO InputRoot.XMLNSC.Envelope.Body.MapIdentity;
    		IF lastmove(MapIdActionsRef) THEN
    			-- Benutzername und Kennwort als Berechtigungsnachweise erstellen
    			SET OutputRoot.Properties.IdentityMappedType = 'usernameAndPassword';
    			-- Benutzername der Quelle in Kleinbuchstaben setzen
    			DECLARE lusername CHAR;
    			SET lusername = LCASE(InputRoot.Properties.IdentitySourceToken);
    			-- Token für Benutzername ist E-Mail-Adresse; wird gebildet aus Benutzername der Quelle und "@company.com"
    			SET OutputRoot.Properties.IdentityMappedToken =  lusername || '@company.com';
    			-- Kennwort wird aus Benutzername der Quelle gebildet, mit vorangestelltem "p_" und der nachgestellten
       -- Angabe des laufenden Jahres
    			DECLARE yearStr CHAR;
    			SET yearStr = (EXTRACT(YEAR FROM CURRENT_TIMESTAMP));
    			SET OutputRoot.Properties.IdentityMappedPassword = 'p_' || lusername || yearStr;
    			-- Aussteller ist dieses Modul
    			SET OutputRoot.Properties.IdentityMappedIssuedBy = 'SecurityIdentitySubFlow_MapIdentity';
    		END IF;
    		RETURN TRUE;
    	END;
    	          
  6. Klicken Sie im Nachrichtenflusseditor doppelt auf den Rechenknoten 'ClrHdrs', um den 'ESQL-Editor' zu öffnen. Kopieren Sie die im Folgenden wiedergegebenen ESQL-Code-Module in die ESQL-Datei und speichern Sie dann die Datei. Weitere Informationen finden Sie in der Dokumentation zu WebSphere Message Broker im Abschnitt ESQL erstellen.
    	CREATE FUNCTION Main() RETURNS BOOLEAN
    	BEGIN
    		CALL CopyEntireMessage();
            -- HTTP-Anforderungsheader aus Baumstruktur löschen
    		SET OutputRoot.HTTPResponseHeader = NULL;
    		RETURN TRUE;
    	END;
              
  7. Speichern Sie den Nachrichtenfluss.

Zurück zur Erstellung des Mustercodes 'Security Identity Propagation'

Zurück zum Beginn des Mustercodes