150 likes | 373 Views
BAAT. Inni BAAT og detaljer om komponentene…. Komponentene. Interceptor. Ticket server. Telle modul. Autorisasjon. Tjeneste katalog. AUTORISASJON. Autorisasjon. Komponenten håndterer både autorisasjon og autentisering. Tjeneste kan være åpen eller lukket
E N D
BAAT Inni BAAT og detaljer om komponentene…
Komponentene Interceptor Ticket server Telle modul Autorisasjon Tjeneste katalog
AUTORISASJON Autorisasjon • Komponenten håndterer både autorisasjon og autentisering. • Tjeneste kan være åpen eller lukket • Åpen: Tilgang for alle autentiserte • Lukket: Krever definert tilgang • I dag bruker BAAT en egen database for brukere. • Implementasjonen kan bruke andre DBMS • Eventuelt bruke LDAP/Active directory
AUTORISASJON • Brukerdatabasen • Navn, Adresse, telefon, e-mail osv. • IP-adresse og subnet-maske • Liste med tildelte rettigheter.
AUTORISASJON • Tjenester • ID (navn) • Lukket eller Åpen • Kommentar • URL • I de tilfeller tjenesten skal videreformidles • Timeout verdier • Hvor lang tid det skal gå før en tjeneste erklæres som utilgjengelig (5 sek) • Hvor lang tid det skal gå før svar kommer (30 sek)
TICKETSERVER Ticket server • Genererer ticket • Ticket er en funksjon av bl.a • Brukerid, tjenesteid, ip-adresse osv. • Ticket har begrenset gyldighet • Nå: 60 min
TICKETSERVER • URL: • https://baat.geonorge.no/skbaatts/req? • Parametre: • brukerid=xxx • passord=xxx • retformat=s • tjenesteid=wms.topo
TICKETSERVER • Parametre: • Brukerid og passord • Retformat • S = streng • X = xml format, med info om levetid på ticket og tid siden ticketserver ble restartet • Es = (extended) streng med info om levetid og tid siden ticketserver restart • Tjenesteid • ID/Navn på tjenesten (f.eks wms.topo) • Extra • Registreres i loggfiler og statistikk.
TICKETSERVER • S • 95K7L • ES • 963KK;18550773;3600000 • X • <?xml version="1.0" encoding="ISO-8859-1"?> <RetTicketInfo java-class="no.hosledata.geoportal.felles.RetTicketInfo"> <errMessage></errMessage><msSinceTSInit java-class="java.lang.Long">18574289</msSinceTSInit> <ticket>96AAJ</ticket> <ticketTimeoutInMs java-class="java.lang.Long">3600000</ticketTimeoutInMs> </RetTicketInfo>
INTERCEPTOR Interceptor • Sjekker om kilden er autentisert • Ved hjelp av ticket… • Eller ip-adresse. • Sjekker om kilden er autorisert • Sjekker tjenesten for sperringer • Dersom alt er OK – sender forespørselen videre til kilden (den reelle tjenesten)
INTERCEPTOR • Feilmeldinger • Når ticket er tilstede men feil: • ”har ticket med denne er ikke gyldig” • Ingen ticket, og ingen IP-adresse registrert • ”Bruker kan ikke autentiseres” • Eksempel:
TELLEMODUL Telle- modul • Logging til database • Registrerer i loggen når brukeren får svar. • Logger bl.a. • Responstid • Resultat (i form av antall treff eller antall bytes) • Status • Bruker