Bevezetés a tavaszi biztonsági taglibekbe
1. Áttekintés
Ebben az oktatóanyagban megnézzük a Spring Security Taglibs programot, amely alapvető támogatást nyújt a biztonsági információkhoz való hozzáféréshez és a biztonsági megszorítások alkalmazásához a JSP-kben.
2. Maven-függőségek
Először tegyük hozzá a spring-security-taglibs függőséget a sajátunkhoz pom.xml:
org.springframework.security spring-security-taglibs 5.2.2.FELHASZNÁLÁS
3. A Taglibek deklarálása
Most, mielőtt használhatnánk a címkéket, be kell importálnunk a taglibet a JSP fájlunk tetején:
Ennek hozzáadása után megadhatjuk a Spring Security címkéit a mp előtag.
4. A engedélyezzék Címke
4.1. hozzáférés Kifejezések
Alkalmazásainkban lehetnek olyan információk, amelyeket csak bizonyos szerepkörök vagy felhasználók esetében szabad megjeleníteni.
Ebben az esetben használhatjuk a engedélyezzék címke:
Bejelentkezés Kijelentkezés
Ezenkívül ellenőrizhetjük, hogy egy hitelesített felhasználó rendelkezik-e meghatározott szerepekkel:
Felhasználók kezelése
És bármilyen tavaszi biztonsági kifejezést használhatunk értékként hozzáférés:
- hasAnyRole („ADMIN”, „USER”) visszatér igaz ha az aktuális felhasználó rendelkezik a felsorolt szerepek bármelyikével
- isAnonymous () visszatér igaz ha a jelenlegi megbízó névtelen felhasználó
- isRememberMe () visszatér igaz ha a jelenlegi megbízó emlékszem rám
- isFullyAuthenticated () visszatér igaz ha a felhasználó hitelesített és nem névtelen, és nem emlékszik rám
4.2. url
Ettől eltekintve ellenőrizhetjük azokat a felhasználókat, akik jogosultak kéréseket küldeni az egyes URL-ekre:
Felhasználók kezelése
4.3. Hibakeresés
Vannak esetek, amikor nagyobb ellenőrzést akarunk a felhasználói felület felett, például tesztelési forgatókönyvek esetén. Ahelyett, hogy a Spring Security kihagyná ezeket az illetéktelen szakaszokat, beállíthatjuk tavasz.biztonság.kikapcsolhatóUISbiztonság=igaz mondjuk a miénkben alkalmazás.tulajdonságok fájl.
Amikor ezt megtesszük, a engedélyezzék a címke nem rejti el a tartalmát. Ehelyett be fogja csomagolni a tartalmat … helyett. Ezután testreszabhatjuk a megjelenítést néhány CSS-sel.
Ne feledje, hogy a tartalom CSS-en keresztüli elrejtése nem biztonságos! A felhasználó egyszerűen megtekintheti a forrást, hogy megismerje az illetéktelen tartalmat.
5. A hitelesítés Címke
Máskor a bejelentkezett felhasználó részleteit szeretnénk megjeleníteni, például valami olyat mondani, hogy „Welcome Back, Carol!” az oldalon.
Ehhez a hitelesítés címke:
Üdv újra,
6. A csrfInput Címke
Remélhetőleg a Spring Security CSRF védelme engedélyezve van az alkalmazásunkban!
Ha mégis, akkor a Spring Security már beilleszt egy CSRF rejtett űrlap bemenetet címkék nekünk.
De ha használni szeretnénk helyette, manuálisan megadhatjuk, hogy a Spring Security hova helyezze el ezt a rejtett beviteli mezőt csrfInput:
Szövegmező:
Ha a CSRF védelem nincs engedélyezve, ez a címke nem ad ki semmit.
7. Az csrfMetaTags Címke
Vagy, ha a CSRF tokent szeretnénk elérni Javascriptben, valószínűleg a tokent metatagként szeretnénk beszúrni.
Megtehetjük ezt a csrfMetaTags címke:
JavaScript CSRF-védelemmel var csrfParameter = $ ("meta [name = '_ csrf_parameter']"). Attr ("content"); var csrfHeader = $ ("meta [név = '_ csrf_header']"). attr ("tartalom"); var csrfToken = $ ("meta [név = '_ csrf']"). attr ("tartalom"); ...
Ismételten, ha a CSRF védelem nincs engedélyezve, ez a címke nem ad ki semmit.
8. Következtetés
Ebben a gyors cikkben néhány általános Spring Security taglib használati esetre összpontosítottunk.
És, mint megtudtuk, nagyon hasznosak a hitelesítés és az autoritás-tudatos JSP-tartalmak megjelenítéséhez.
Minden példa, mint mindig, a Github oldalon található.