Uvod u proljetne sigurnosne oznake

1. Pregled

U ovom ćemo uputstvu pogledati Spring Security Taglibs, koji pruža osnovnu podršku za pristup sigurnosnim informacijama i primjenu sigurnosnih ograničenja u JSP-ovima.

2. Ovisnosti Mavena

Prije svega, dodajmo našoj ovisnosti proljeće-sigurnost-taglibi pom.xml:

 org.springframework.security proljeće-sigurnost-taglibi 5.2.2.OSLOBOĐENJE 

3. Proglašavanje tagliba

Sada, prije nego što možemo koristiti oznake, moramo uvesti taglib na vrhu naše JSP datoteke:

Nakon što to dodamo, moći ćemo odrediti oznake Spring Security-a s sek prefiks.

4. The ovlastiti Označiti

4.1. pristup Izrazi

U našim programima možda imamo informacije koje bi trebale biti prikazane samo za određene uloge ili korisnike.

Kada je to slučaj, možemo koristiti ovlastiti označiti:

 Prijava Odjava 

Nadalje, možemo provjeriti ima li provjereni korisnik određene uloge:

 Upravljanje korisnicima 

A za vrijednost možemo koristiti bilo koji izraz Spring Security pristup:

  • hasAnyRole (‘UPRAVNIK’, ‘KORISNIK’) vraća se pravi ako trenutni korisnik ima bilo koju od navedenih uloga
  • isAnonymous () vraća se pravi ako je trenutni nalogodavac anonimni korisnik
  • isRememberMe () vraća se pravi ako je trenutni nalogodavac korisnik koji me pamti
  • isFullyAuthenticated () vraća se pravi ako je korisnik ovjeren i nije anoniman niti je korisnik koji me pamti

4.2. url

Osim toga, možemo provjeriti ima li korisnika koji su ovlašteni slati zahtjeve na određene URL-ove:

 Upravljanje korisnicima 

4.3. Otklanjanje pogrešaka

Možda postoje slučajevi u kojima želimo veću kontrolu nad korisničkim sučeljem, na primjer u scenarijima testiranja. Umjesto da Spring Security preskoči prikazivanje ovih neovlaštenih odjeljaka, možemo postaviti proljeće.sigurnost.disableUISecurity=pravi recimo u našem primjena.svojstva datoteka.

Kada to učinimo, ovlastiti oznaka neće sakriti svoj sadržaj. Umjesto toga, sadržaj će omotati umjesto toga. Zatim možemo sami prilagoditi prikazivanje pomoću nekog CSS-a.

Imajte na umu da skrivanje sadržaja putem CSS-a nije sigurno! Korisnik može jednostavno pogledati izvor kako bi vidio neovlašteni sadržaj.

5. The ovjera Označiti

Inače ćemo htjeti prikazati detalje o prijavljenom korisniku, poput recimo nešto poput "Dobrodošli natrag, Carol!" na stranici.

Za to koristimo ovjera označiti:

 Dobrodošao natrag, 

6. The csrfInput Označiti

Nadamo se da smo u našoj aplikaciji omogućili CSRF obranu Spring Securityja!

Ako to učinimo, tada Spring Security već ubacuje CSRF skriveni obrazac oznake za nas.

Ali u slučaju da želimo koristiti umjesto toga, možemo ručno naznačiti gdje Spring Security treba smjestiti ovo skriveno polje za unos pomoću csrfInput:

  Polje za tekst:

Ako CSRF zaštita nije omogućena, ova oznaka ne daje ništa.

7. The csrfMetaTags Označiti

Ili, ako želimo pristupiti CSRF tokenu u Javascriptu, vjerojatno ćemo htjeti umetnuti token kao metaoznaku.

To možemo učiniti s csrfMetaTags označiti:

  JavaScript s CSRF zaštitom var csrfParameter = $ ("meta [name = '_ csrf_parameter']"). Attr ("content"); var csrfHeader = $ ("meta [name = '_ csrf_header']"). attr ("sadržaj"); var csrfToken = $ ("meta [name = '_ csrf']"). attr ("sadržaj"); ... 

Opet, ako CSRF zaštita nije omogućena, ova oznaka neće izlaziti ništa.

8. Zaključak

U ovom smo se kratkom članku usredotočili na neke uobičajene slučajeve upotrebe taglib-a Spring Security.

I, kako smo saznali, vrlo su korisni za prikazivanje JSP sadržaja za provjeru autentičnosti i autorizaciju.

Svi primjeri, kao i uvijek, mogu se naći na Githubu.