Toiminnallisuudet

Autentikointi ja auktorisointi

Web Servicen autentikointi ja auktorisointi on toteutettu OASIS WS-Security UsernameToken -standardilla, jossa salasana on salattu algoritmilla. Vaatimuksena lähettävältä osapuolelta on muodostaa Web Serviceen SOAP-sanoman header-osaan WS-Security-standardin mukainen UsernameToken autentikointi ja auktorisointi. UsernameToken-elementin alielementteinä vaadittavat elementit ovat username, nonce, created sekä password, joka täytyy olla PasswordDigest-tyyppinen. Salasanoja ei pidetä tallessa tai ylläpidetä palvelimella jossa Web Service sijaitsee.

Käyttäjätunnuksen autentikointi ja auktorisointi on kaksivaiheinen. Käyttäjätunnuksella ja salasanalla voi olla määritelty oikeudet Web Servicen käyttöön. Lisäksi oikeuksia rajataan yrityksittäin ja aineistotyypeittäin. Aineistotyypeittäin voidaan erikseen antaa oikeudet noutaa ja tuoda sovellukseen.

Kirjautuessa tarkistetaan, että itse UsernameToken on muodostettu oikein ja sisältää vaadittavat elementit. Jos näin ei ole, niin autentikointi ja auktorisointi epäonnistuu ja lähettäjälle palautetaan Responce-sanomassa SOAP-sanoma, joka sisältää WS-Security-standardin mukaisen virheen autentikoinnin ja auktorisoinnin epäonnistumisesta.

Jos UsernameToken on muodostettu oikein, läpäisee sanoma tässä vaiheessa autentikoinnin ja auktorisoinnin. Varsinainen autentikointi ja auktorisointi toteutetaan tietokantaproseduurissa Web Servicen, operaatioiden sekä haluttujen aineistojen tarkkuudella.

Autentikoinnin ensimmäisessä vaiheessa tarkistetaan, onko Web Service -kutsun tehnyt käyttäjä olemassa tietokannassa. Autentikointi suoritetaan kaksiosaisesti. Ensin tarkistetaan, onko tietokannassa olemassa käyttäjä annetulla käyttäjätunnuksella, hakemalla kyseisen käyttäjätunnuksen salasana. Autentikoinnin toisessa vaiheessa tarkistetaan salasanan täsmääminen PasswordDigestin sisältämään salasanaan.

Jos annetun käyttäjätunnuksen salasana ei täsmää tietokannassa olevaan salasanaan, auktorisointi epäonnistuu. Epäonnistumisesta muodostetaan Web Serviceä kutsuneen käyttäjän lähettämään Request-sanomaan vastauksena Responce-sanoma, jossa sisältönä on SOAP-sanoma sisältäen WS-Security-standardin mukaisen virhe-elementin autentikoinnin ja auktorisoinnin epäonnistumisesta.

Jos auktorisointi onnistuu, niin proseduurissa suoritetaan seuraavaksi auktorisointi jokaisen eri aineiston kohdalla operaation, käyttäjätunnuksen, kantaryhmän, yrityksen ja aineiston tarkkuudella. Jos autentikoidulla käyttäjällä on oikeudet operaatioon kaikkien haluttujen annetussa kantaryhmässä olevan yrityksen aineistojen osalta, onnistuu auktorisointi. Tässä tapauksessa palautetaan lähetettyyn Request-sanomaan Responce-sanoma, jonka sisältö on autentikoinnin ja authorisoinnin onnistumisesta kertova koodi ”00 ok”. Jos yhdenkin pyydettävän tai tuotavan aineiston kohdalla auktorisointi epäonnistuu, palautetaan Request-sanomaan Responce- sanoma, jonka sisältönä on virhekoodi ”40” sekä selkokielinen erittely aineistoista joihin käyttäjätunnuksella ei ole oikeuksia. Esimerkkinä paluusanoma: ”40 Ei oikeuksia aineistoon (yritysrekisteri)”. Tämän virhekoodin perusteella muodostetaan Web Serviceä kutsuneen käyttäjän lähettämään Request-sanomaan vastauksena Responce-sanoma. Sanoman sisältönä on SOAP-sanoma sisältäen WS-Security-standardin mukaisen virhe-elementin autentikoinnin ja authorisoinnin epäonnistumisesta, sekä tarkemman kuvauksen eri aineistoista, joihin käyttäjätunnuksella ei ole oikeuksia.

Aineistojen validointi

Aineistojen validointi Web Servicessä rajoittuu SOAP-sanoman validointiin. Validoinnissa tarkistetaan, että sanoma on oikein muodostettu Web Servicen WSDL-tiedoston mukaisesti. WSDL-tiedostossa on määritelty operaatiot, joilla toteutettua Web Serviceä voi kutsua. Näiden operaatioiden kutsumiseen määritellyt parametrit esitellään myös WSDL-tiedostossa. Web Servicessä näiden parametrien sisältämä tieto validoidaan, eli tietosisällön täytyy olla sellaista, jolla aineistoja voidaan noutaa sovelluksen tietokannasta ja tuoda sovelluksen tietokantaan. Itse aineiston validointi tapahtuu olemassa olevilla tietokantaproseduureilla.

Tiedostojen tuonti tietokantaan

XML-muotoisen tiedon sisään tuominen sovelluksen tietokantaan tapahtuu operaatiolla addFile. addFile-funktion parametreina ovat schema, businessId ja lista parametriobjekteista, ParameterObject.

Schema-parametrin sisältämä tieto tarkoittaa tietokantaryhmää, josta aineistoa noudetaan, tai johon aineistoa tuodaan. Tämä tieto tarvitaan, koska aineistojen siirrossa täytyy olla tiedossa missä kantaryhmässä kyseinen yritys sijaitsee. Tämä tieto välitetään Visma Fivaldin toimesta Web Servicen käyttäjille, koska heillä ei ole olemassa tietoa, missä kantaryhmässä eri yritykset ja niihin liittyvät tiedot sijaitsevat tietokannassa.

BusinessId-parametri määrittää yrityksen jonka aineistoa noudetaan tai johon aineistoa tuodaan. Aineistojen siirto sallitaan yrityskohtaisesti.

ParameterObject-parametri on erikseen räätälöity parametri Web Serviceä varten, joka pitää sisällään listan parametriobjekteja.

Tiedostojen noutaminen tietokannasta

XML-muotoisen tiedon noutamiseen sovelluksen tietokannasta tapahtuu operaatiolla ”getFile”. getFile-funktion parametreina ovat schema, businessId ja lista parametriobjekteista, ParameterObject.  

Schema-parametrin sisältämä tieto tarkoittaa tietokantaryhmää, josta aineistoa noudetaan, tai johon aineistoa tuodaan. Tämä tieto tarvitaan, koska aineistojen siirrossa täytyy olla tiedossa missä kantaryhmässä yritys, jonka aineistoja noudetaan tai johon aineistoja tuodaan, sijaitsee. Tämä tieto (FV001, FV002…) välitetään Visman kautta Web Servicen käyttäjille erikseen, koska heillä ei ole olemassa tietoa, missä kantaryhmässä eri yritykset ja niihin liittyvät tiedot sijaitsevat tietokannassa.

BusinessId-parametri määrittää yrityksen (yritystunnus), jonka aineistoa noudetaan tai johon aineistoa tuodaan. Aineistojen siirto sallitaan yrityskohtaisesti.

ParameterObject-parametri on erikseen räätälöity parametri Web Serviceä varten, joka pitää sisällään listan parametriobjekteja.

Kumppanikäyttäjätunnukset

Visma Fivaldin toimesta avataan kumppanikäyttäjätunnukset. Luotu käyttäjätunnus ja salasana lähetetään käyttäjätunnukselle määritettyyn matkapuhelinnumeroon. Käyttäjätunnukselle määritetään Visma Fivaldin toimesta ylemmän tason käyttöoikeuksia tilauksen mukaisesti. Ympäristön pääkäyttäjän toimesta annetaan tuonti ja vienti oikeudet yrityksiin.

Siirtomäärien seuranta

Kaikkien siirtojen tiedot tallennetaan tietokantaan, josta Visma Fivaldin toimesta voidaan tarkistaa mitä siirtoja on tehty, milloin ja kenen toimesta sekä onko siirto onnistunut. Siirtotiedot voidaan tulostaa näytölle tai viedä Exceliin.



Oliko tästä vastauksesta apua? Kyllä Ei

Send feedback
Pahoittelut, että emme voineet auttaa. Anna palautetta, jotta voimme parantaa tätä artikkelia.