Der Nachrichtenfluss für den Mustercode 'Security Identity Propagation' wird bereitgestellt, Sie können diesen Nachrichtenfluss jedoch wie folgt auch selbst erstellen:
Palettenfächer | Knotentyp | Knotenname |
---|---|---|
Aufbau | Input | Input |
Transformation | Rechnen | MapIdentity |
HTTP | HTTPAnforderung | HTTPRequest_AsID |
Transformation | Rechnen | ClrHdrs |
Aufbau | Output | Output |
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;
CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN CALL CopyEntireMessage(); -- HTTP-Anforderungsheader aus Baumstruktur löschen SET OutputRoot.HTTPResponseHeader = NULL; RETURN TRUE; END;
Zurück zur Erstellung des Mustercodes 'Security Identity Propagation'