Spring Security -kehyksen autentikointi- ja autorisointiratkaisujen implementointi
Malm, Markus (2018)
Malm, Markus
Jyväskylän ammattikorkeakoulu
2018
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2018090514876
https://urn.fi/URN:NBN:fi:amk-2018090514876
Tiivistelmä
Opinnäytetyön tavoitteena oli tehdä selvitys Spring Securityn autentikointi- ja autorisointiratkaisujen implementoinnista olemassa olevaan ympäristöön. Selvityksellä haluttiin tuottaa Combitech OY:lle dokumentaatiota tukemaan sellaisia tilanteita, joissa Spring Securityn ominaisuuksia halutaan hyödyntää valmiissa ympäristössä.
Implementoinnin kohdeympäristöksi rakennettiin oluttietokanta-verkkosovellus. Ympäristön piti täyttää tiettyjä vaatimuksia, jotta sen perusteella tehdyn selvityksen tuloksia olisi mahdollista soveltaa tulevissa projekteissa. Verkkosovellus on toteutettu Javalla ja siinä hyödynnetään Spring Boottia ja sen sulautettua Tomcat-palvelinta sovelluksen ajamisessa. Verkkosovellus on rakennettu MVC-mallin mukaan ja sen view-tason sivu-templatet on toteutettu Thymeleafilla. Sovellusta tukeva tietokanta on toteutettu PostgreSQL:llä ja tietokannan dataa käsitellään sovelluksessa JPA:n ja Hibernate ORM:n avulla.
Työn lopputuloksena saatiin tuotettua verkkosovellus, jonka sisäisten service-rajapintojen ajo-oikeuksia on rajoitettu käyttäjien roolien perusteella hyödyntäen Spring Securityn metoditason autorisointiominaisuuksia. Lisäksi saatiin tuotettua dokumentaatiota, jota voidaan käyttää tulevaisuuden projekteissa tukena Spring Securityn ominaisuuksien implementoinnissa, jos niitä vaativia tilanteita tulee vastaan. Spring Securityn autentikointi- ja autorisointiratkaisujen implementointi oli helppoa ja suoraviivaista. Ratkaisut olivat helposti mukautettavissa käyttäjän tarpeisiin. Lisäksi Spring Security tarjoaa valmiita toteutuksia kolmansien osapuolien ratkaisuille, kuten OAuth2 tai LDAP.
Implementoinnin kohdeympäristöksi rakennettiin oluttietokanta-verkkosovellus. Ympäristön piti täyttää tiettyjä vaatimuksia, jotta sen perusteella tehdyn selvityksen tuloksia olisi mahdollista soveltaa tulevissa projekteissa. Verkkosovellus on toteutettu Javalla ja siinä hyödynnetään Spring Boottia ja sen sulautettua Tomcat-palvelinta sovelluksen ajamisessa. Verkkosovellus on rakennettu MVC-mallin mukaan ja sen view-tason sivu-templatet on toteutettu Thymeleafilla. Sovellusta tukeva tietokanta on toteutettu PostgreSQL:llä ja tietokannan dataa käsitellään sovelluksessa JPA:n ja Hibernate ORM:n avulla.
Työn lopputuloksena saatiin tuotettua verkkosovellus, jonka sisäisten service-rajapintojen ajo-oikeuksia on rajoitettu käyttäjien roolien perusteella hyödyntäen Spring Securityn metoditason autorisointiominaisuuksia. Lisäksi saatiin tuotettua dokumentaatiota, jota voidaan käyttää tulevaisuuden projekteissa tukena Spring Securityn ominaisuuksien implementoinnissa, jos niitä vaativia tilanteita tulee vastaan. Spring Securityn autentikointi- ja autorisointiratkaisujen implementointi oli helppoa ja suoraviivaista. Ratkaisut olivat helposti mukautettavissa käyttäjän tarpeisiin. Lisäksi Spring Security tarjoaa valmiita toteutuksia kolmansien osapuolien ratkaisuille, kuten OAuth2 tai LDAP.