Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Denne handler sørger for at læse requestet ind i en ReadWriteBuffer. Denne buffer kan skrives til en enkelt gang, hvorefter indholdet kan læses flere gange som en stream af bytes. Dette gør det muligt f.eks. at anvende Java XML, Seal.Java og andre kodebiblioteker, der understøtter java.io.InputStream.Når  Når requestet er læst ind, pakkes Undertow's HttpServletRequest objektet ind i en NSP udgave, således at alle læsninger sker via denne buffer.

Handleren opretter herefter en ny NSP SecurityContext, som lægges på Undertow's Exchange objekt, således at de andre handlers kan tilføje information dertil. Derudover registreres NSP SecurityContext både som en attribut på HttpServletRequest objektet samt i den aktive tråds NspSecurityProvider. Dette giver komponenten mulighed for at få fat i konteksten enten via Security API'et eller direkte fra Servlet Request objektet.

Herefter forsøger handleren at afgøre om det indkommende request er et SOAP kald med XML eller et REST kald med JSON. Denne information gemmes også på Undertow's Exchange objekt og anvendes til at udvælge hvilke af de efterfølgende NSP handlers, der delegeres tilRequest Handleren delegerer herefter håndtering af requestet til et større antal handlers.

Audit Log Handler

Opretter en ny NSP Audit Log Entry og registrerer denne i den aktive tråds Nsp Audit Provider, således at kald fra komponenten til Audit API'ets metoder tilføjer auditdata heri. Når komponenten har udført sin operation tilføjes NSP Access Log Entry også til den ny NSP Audit Log Entry og det hele logges som et JSON objekt via Log4J.

...

Hvis der er tale om et MTOM request, kan det være, at certifikatet ikke ligger direkte i XML dokumentet, men at der derimod ligger et XOP Include element med en reference til den MTOM Attachment, der indeholder det binære certifikat. I dette tilfælde læser Handleren denne reference og stiller den til rådighed for andre handlers i træet. Selve certifikatet bliver læst af MTOM parseren, så det også er tilgængelig.

Security Protocol Detection Handler

Opretter en ny NSP SecurityContext, som lægges på Undertow's Exchange objekt, således at de andre handlers kan tilføje information dertil. Derudover registreres NSP SecurityContext både som en attribut på HttpServletRequest objektet samt i den aktive tråds NspSecurityProvider. Dette giver komponenten mulighed for at få fat i konteksten enten via Security API'et eller direkte fra Servlet Request objektet.

stiller den til rådighed for andre handlers i træet. Selve certifikatet bliver læst af MTOM parseren, så det også er tilgængelig.

Security Protocol Detection Handler

Denne handler søger Herefter søger Handleren efter en SAML Attribute i requestet med navnet "sosi:IDCardVersion" eller "dk:gov:saml:attribute:SpecVer" og bruger værdien til at afgøre, om det er et DGWS eller IDWS request. Denne information lægges på NSP SecurityContext objektet.

...

Denne handler anvender Seal.Java til at parse de indkommende SOAP Headers ud fra DGWS specifikationen. Handleren sørger for at validere at sikkerhedsbilletten (i Seal.Java kaldet et IDCard) er korrekt underskrevet af en NSP STS. Herefter udstiller handleren de forskellige attributter fra sikkerhedsbilletten gennem SecurityContext klasserne.

JTP-H Request Handler

Denne handler anvender kodebiblioteket JJWT til at parse et indkommende JSON Web Token i HTTP Headeren "Authorization". JWT'en skal overholde 

Response Handler

Denne handler sørger for at pakke Undertow's HttpServletResponse objektet ind i en NSP udgave, således at alle skrivninger fra servicen sker til en ReadWriteBuffer. Dette betyder, at de andre handlers, der delegeres til, kan få adgang til det fulde response, inden det sendes retur til anvenderen af servicen.

...