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:
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 |
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;
CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN CALL CopyEntireMessage(); -- Borrar las cabeceras de petición HTTP del árbol SET OutputRoot.HTTPResponseHeader = NULL; RETURN TRUE; END;
Volver a Crear el ejemplo de Propagación de identidad de seguridad