Crear el subflujo de mensajes

Se proporciona el flujo de mensajes del ejemplo Propagación de identidad de seguridad, pero si prefiere crear el flujo de mensajes usted mismo, utilice las siguientes instrucciones:

  1. Cree un nuevo proyecto de Message Broker llamado SecurityIdentitySampleFlowProject.
  2. Cree un nuevo flujo de mensajes llamado SecurityIdentitySubFlow en este proyecto. Para obtener instrucciones, consulte Crear un flujo de mensajes en la documentación de WebSphere Message Broker.
  3. En el Editor de flujos de mensajes, añada y renombre los nodos que se listan en la siguiente tabla. Para obtener instrucciones, consulte Añadir un nodo en la documentación de WebSphere Message Broker.
    Cajones de la paleta Tipo de nodo Nombre de nodo
    Construcción Input Input
    Transformación Compute MapIdentity
    HTTP HTTPRequest HTTPRequest_AsID
    Transformación Compute ClrHdrs
    Construcción Output Output
  4. Conecte los nodos entre sí en el orden en que figuran en la tabla anterior. Para obtener instrucciones, consulte Conectar nodos en la documentación de WebSphere Message Broker.
    Para comprobar que ha conectado los nodos correctamente, consulte el diagrama de Acerca del ejemplo de Propagación e identidad de seguridad.
  5. En el Editor de flujo de mensajes, efectúe una doble pulsación en el nodo MapIdentity Compute para que se abra el editor ESQL. Copie y pegue los siguientes módulos de código ESQL en el archivo ESQL y luego guarde el archivo. Para obtener más información, consulte Desarrollo de ESQL en la documentación de WebSphere Message Broker.
    	CREATE FUNCTION Main() RETURNS BOOLEAN
    	BEGIN
    		CALL CopyEntireMessage();
    		-- Establecer la identidad correlacionada si el mensaje de entrada incluye el
    		-- "indicador" para desencadenar la Correlación de identidad
    		DECLARE MapIdActionsRef REFERENCE TO InputRoot.XMLNSC.Envelope.Body.MapIdentity;
    		IF lastmove(MapIdActionsRef) THEN
    			-- Crear un conjunto de credenciales de nombre de usuario y contraseña
    			SET OutputRoot.Properties.IdentityMappedType = 'usernameAndPassword';
    			-- convertir el Nombre de usuario de origen a minúsculas
    			DECLARE lusername CHAR;
    			SET lusername = LCASE(InputRoot.Properties.IdentitySourceToken);
    			-- La señal de nombre de usuario es la dirección de correo electrónico, creada a
       -- partir del nombre de usuario de origen, con "@company.com" añadido al final
    			SET OutputRoot.Properties.IdentityMappedToken =  lusername || '@company.com';
    			-- La contraseña se crea como el nombre de usuario de origen, con "p_"
       -- añadido al principio y el año actual añadido al final
    			DECLARE yearStr CHAR;
    			SET yearStr = (EXTRACT(YEAR FROM CURRENT_TIMESTAMP));
    			SET OutputRoot.Properties.IdentityMappedPassword = 'p_' || lusername || yearStr;
    			-- El emisor es este módulo
    			SET OutputRoot.Properties.IdentityMappedIssuedBy = 'SecurityIdentitySubFlow_MapIdentity';
    		END IF;
    		RETURN TRUE;
    	END;
    	          
  6. En el Editor de flujo de mensajes, efectúe una doble pulsación en el nodo ClrHdrs Compute para que se abra el editor ESQL. Copie y pegue los siguientes módulos de código ESQL en el archivo ESQL y luego guarde el archivo. Para obtener más información, consulte Desarrollo de ESQL en la documentación de WebSphere Message Broker.
    	CREATE FUNCTION Main() RETURNS BOOLEAN
    	BEGIN
    		CALL CopyEntireMessage();
            -- Borrar las cabeceras de petición HTTP del árbol
    		SET OutputRoot.HTTPResponseHeader = NULL;
    		RETURN TRUE;
    	END;
              
  7. Guarde el flujo de mensajes.

Volver a Crear el ejemplo de Propagación de identidad de seguridad

Volver a la página inicial del ejemplo