#Vauhtio template Spring project
###REST Controller
Rest endpointit on projektissa luokassa VauhtioRestController
Luokka esittelee variaatiot:
- pelkkä GET ilman parametreja
- GET url polkumuuttujalla
- GET requst pararametreilla (?name=value&next=param)
- POST Json datalla
- HTTP Basic autentikaatiolla suojattu GET
###Spring security
Spring security on konfiguroitu projektissa luokassa WebSecurityConfig
Testaa seuraavat variaatiot:
- selaimella suojaamaton URL vastaa ilman autentikaatiota http://localhost:8080/
- selaimella uusi ikkkuna incognito modella; navigoi http://localhost:8080/secure/sensitive ja anna kt:ss admin:admin
- tekninen kutsu ilman tunnuksia;
curl -i http://localhost:8080/secure/sensitive
- palauttaa 401 Unauthorized
- tekninen kutsu the-easy-way;
curl -i --user admin:admin http://localhost:8080/secure/sensitive
- tekninen kutsu the-hard-and-real-way:
- mene https://www.base64encode.org ja syötä kenttään admin:admin (huomaa kaksoispiste kuuluu mukaan)
- paina Encode
- kopioi base64 enkoodattu teksti (YWRtaW46YWRtaW4=)
curl -i -H "Authorization: Basic YWRtaW46YWRtaW4=" http://localhost:8080/secure/sensitive
Viimeisessä esimerkissä nähtiin miten Authorization Headeriin oli laitettu enkoodattuna käyttäjätunnus:salasana. HUOM! Älä koskaan käytä https://www.base64encode.org linkkiä minkään tuotantodatan enkoodaamiseen, harjoituskäyttäjät ok. Tämä siitä syystä että tulet lähettäneeksi tiedot palveluntarjoajalle ja emme voi varmistua mitä datalla tehdään.