HowTo: Einfacher Gatekeeper für http-Input-Adapter (Typ JSON)

  • Dieses Thema ist leer.
  • Beitrag
    Sebastian Melzer
    Moderator
    Wie kann ich meine http-Eingangsschnittstellen vom Verbindungstyp JSON auf spezifische Nutzer und http-Methoden einschränken? → Flexibel und frei konfigurierbar mit einem synchronen, der eigentlichen Verarbeitung vorgelagerten Gatekeeper-Prozess.

    Im folgenden Beispiel ist eine Schnittstelle eingerichtet, die auf die URL “…/transconnect/clientservices/httpInput-JSON” lauscht und nur Requests vom Typ ‘POST’ des Users ‘MitarbeiterA’ akzeptiert. Alle anderen Requests werden mit Fehler 500 und einer Fehlernachricht abgewiesen.

    Der Inputadapter “httpInput-JSON” nimmt die Requests von außen auf, der Prozess “httpGatekeeper” überprüft die Bedingungen und leitet bei erfolgreicher Validierung an den eigentlichen Verarbeitungsprozess “processRequest” weiter.

    httpGatekeeper:

    Im linken Bereich werden der aufrufende User sowie die verwendete http-Methode aus dem Request extrahiert. In zwei Abfragen wird überprüft, ob die einzig valide Kombination ‘MitarbeiterA’-‘POST’ vorliegt. Wenn beide Bedingungen erfüllt sind, wird per neuer asynchroner Nachricht die eigentliche Verarbeitung aufgerufen. Ist eine Bedingung verletzt, wird eine Fehlermeldung erzeugt, die in der globalen Fehlerbehandlung nochmal separat geloggt wird (als neu geroutete asynchrone Nachricht ‘invalidHttpRequest’). Anschließend wird der Fehler an den aufrufenden http-Adapter zurückgemeldet. Der Adapter ist wie folgt konfiguriert:

    Die Nachricht wird synchron verarbeitet. In den Feldern Erfolgsantwort und Fehlerantwort sind Blaupausen für die JSON-Rückmeldung in beiden Fällen hinterlegt. Im Fall der Fehlerantwort wird dabei noch ein Platzhalter durch die konkrete Fehlermeldung aus dem Gatekeeper-Prozess ersetzt, um dem aufrufenden System eine Chance zur Fehlerbehandlung zu geben.

    Beachtet, dass die Authentifizierung hier in zwei Schritten erfolgt: Einmal wird über den Haken ‘Authentifizierung erforderlich’ direkt aus dem Adapter die Authentifizierung als TRANSCONNECT®-Benutzer eingefordert. Zusätzlich wird im Prozess noch auf den konkreten TRANSCONNECT®-Benutzer eingeschränkt.

    Alle Details zum selber Ausprobieren findet Ihr als Repository* unten im Download-Bereich.

    Wir freuen uns auf Euer Feedback. Viel Spaß 🙂

    * Aufruf im lokalen Browser über localhost:8080/transconnect/clientservices/httpInput-JSON, für die Funktionsfähigkeit muss in Eurem TRANSCONNECT® noch ein Nutzer 'MitarbeiterA' angelegt werden.

     

    Nur registrierten und verifizierten Nutzern steht der Download zur Verfügung

    0
    0
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.