Page History
...
Ønskes mere information omkring anvendelse kan dette findes på NAP Platform - Guide til anvendere.
Nap-
...
Hvordan fungerer servicen
Single page application med følgende routes:
...
Route
...
Funktionalitet
...
Laver et kald til nap-administration og viser en projektoversigt.
I tilfælde af http fejl vises dette til brugeren.
...
Laver et kald til nap-administration og viser en projektoversigt.
I tilfælde af http fejl vises dette til brugeren.
Viser admin funktionalitet
...
administration
Nap-administration overskriver kontekstroden i jboss-web.xml og forventer derfor, at være udstillet på /admin. se eventuelt https://svn.nspop.dk/src/components/nap/nap-compose/trunk/haproxy/nap-haproxy.cfg for at se hvordan en ha-proxy konfigureres.
Service
Konfiguration
configurations.json mappes til /pack/webapp/assets/
...
Key
...
Value
...
Håndtering af fejlsituationer og logning
nap-lobby-web er en stateless webapplikation, og der er derfor ingen logning i dette komponent. Fejl vil blive skrevet ud i konsollen. I tilfælde af http fejl bliver klienten præsenteret med en fejl.
Nap-administration
Snitflade
Servicen kalder en database med projekter og udstiller dem på en REST snitfalde.
Endpoints | Funktionalitet |
---|---|
/api/projekter/{id} | Validerer den indkommende SAMLAssertion, kalder databasen og henter Projekt(er) baseret på det cvr nummer som er tilknyttet brugerkonteksten. |
/api/webapps/{id} | Validerer den indkommende SAMLAssertion, kalder databasen og henter WebApp(er). |
/api/session | Returnerer den givne bruger, hvis den findes i databasen. |
Overvågningssnitflade
Endpoints | Funktionalitet |
---|---|
/isAlive | Bruges af loadbalanceren for at tjekke at servicen er deployet. Returnerer en html side med deployment info. Hvis der kan oprettes forbindelse til den database, der er konfigureret i datasource "java:jboss/datasources/adminnap-lobby-facade", returneres returneres der statuskode 200, ellers ellers statuskode 500. |
Login / logout (OIOSAML)
/saml/Logout
Endpoints | Funktionalitet |
---|---|
/saml/SAMLAssertionConsumer |
Validere autentifikations requests og registrere en brugers assertion i en threadlocal session. | |
/saml/Logout | Bruges til single til samllogout og sletning af session. |
Konfiguration
Konfiguration af NAP-reference sker i filerne "compose/configuration" mappen som er beskrevet i NAP Platform - Installationsvejledning. I det følgende gennemgåes konfigurationsfilernes detaljer.
...
Konfigurationsfiler | |
---|---|
Filnavn | Indhold |
nap-adminlobby-ds.xml | Datasource beskrivelse. Database opsætning. Eksempel:
<datasources xmlns="http://www.jboss.org/ironjacamar/schema" |
log4j-napadmin.xml | Log4j opsætninger der følger gængs standard på NSP. |
Konfiguration af oiosaml sker i filerne "compose/configuration/oiosaml".
Der findes en konfiguration til
...
development /
...
localhost-test1 / og
...
test1 (
...
test1 miljøet).
...
De forskellige konfigurationer adskiller sig primært
...
for singleLogoutService i SPMetadata og iDpMetadata samt og service provider url i oiosaml-sp.properties.
...
Oiosaml konfigurationerne skal ligeledes være tilgængelig i oiosaml.home under deployment (oiosaml.home sættes med JAVA_OPTS i compose filerne og er sat til /pack/oiosaml)
...
.
Konfigurationsfiler | |
---|---|
oiosaml-sp.log4j.xml | lndeholder Log4j opsætninger der følger gængs standard på NSP. |
oiosaml-sp.properties | # Properties used by oiosaml-j oiosaml-sp.certificate.location= |
|
funktionscertifikat | JKS fil indeholdende Sundhedsdatastyrelsen reference funktionscertifikat certifikat. Skal være samme navn som oiosaml-sp.certificate.location i oiosaml-sp.properties |
metadata/idP/IdPMetadata.xml | OIOSAML identity provider metadata til konfiguration af OIOSAML filteret |
metadata/SP/SPMetadata.xml | OIOSAML service provider metadata til konfiguration af OIOSAML filteret |
Hele oiosaml-konfigurations-mappen skal udskiftes til de forskellige miljøer. Så fx for localhost og test1 ser mapning således ud :
- ../configuration/oiosaml/localhost-development:/pack/oiosaml # localhost
- ../configuration/oiosaml/test1:/pack/oiosaml # test1
Database
Adgang til nap-admin databasen styres gennem filen "nap-adminlobby-ds.xml" - Denne skal matche det NSP miljø hvor komponenten afvikles i.
Da en nap- og projektadministratorer, skal kunne tilføje projekter, og database-brugeren skal kunne tilføje nye nap- og projektadminstratorer skal brugeren fx kunne skrive
insert into User (id, cpr, cvr, admin) values (UuidToBin(UUID()), '0501792275', '20921897', false);
For at tilføje nye projektadministrator.
Desuden forgår der også skrive operationer til samtlige tabeller for at oprette / opdatere / slette projekter og web-aps.
Derfor skal brugeren have read / write rettigheder.
Aktiviteter
For at NAP-admin kan deployes skal der være initieret en tabel i den database, der er defineret i nap-adminlobby-ds.xml, da hibernate vil tjekke at database schemaet matcher entiteterne i applikationen.
Følgende scripts skal derfor køres:
Filnavn | Beskrivelse |
---|---|
create_db_example.sql | Opretter Database |
V1__create_tables.sql | Opretter Tabeller |
V2__insert_data_localhost.sql | Indsætter projekt data med url pegende på localhost (skal opdateres til url svarende til givende miljø) |
V3__update_developer_project_icon.sql | Indsætter projekt ikon for developer projekt |
V4__update_test_project_icon.sql | Indsætter projekt ikon for nap-testweb projekt |
V5__update_nap_ref_web_project_icon.sql | Indsætter projekt ikon for nap-reference-web |
V6__insert_default_user.sql | Indsætter default bruger som projektadministrator |
Opdatere webapp urls svarende til det givne miljø | Eksempel på opdatering af url til test1: use nap; |
Logning
Alle logfiler er at finde i log/ under WildFly. Herunder findes en liste over alle logfiler med en beskrivelse af hvilke komponenter der skriver til dem.
Logfilnavn | Komponenter der skriver til denne |
---|---|
nap-admin.log |
Applikation | |
oiosaml-sp.log | OIOSAML |
oiosaml-sp-audit.log | OIOSAML |
Audit |
Fejlhåndtering
Applikationsfejl bliver logget ved hjælp af log4j, med type ERROR, INFO, DEBUG alt efter hvor alvorlig fejlen er.
Nap-test-web
Hvordan fungerer servicen
Nap-test-web fungerer som test-suite til værtsystemer.
Den tester, at kommunikationen over broen fungerer som den skal, og der er således ingen konfiguration, opsætning eller logning.
Håndtering af fejlsituationer og logning
nap-test-web er en stateless webapplikation, og der er derfor ingen logning i denne komponent. Fejl vil dog blive skrevet ud i konsollen. I tilfælde af http fejl bliver klienten præsenteret med en fejl.
...