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.