Ciele
- Zabezpečiť stránky od nepovoleného prístupu.
- Skryť položky v menu, ktoré nemajú byť prístupné pre hráča.
Úvod
-
V projekte exisuje entita UserRole, ktorá znázorňuje vzťah medzi User a Role.
Účet admin vlastní ROLE_ADMIN. Vďaka nej vieme regulovať prístup na stránky a
tiež položky v menu a v zobrazení.
Postup
-
Na to, aby sme splnili ciele, potrebujeme v databáze vytvoriť novú používateľskú rolu. Túto rolu potrebujeme nastaviť každému novoregistrovanému hráčovi.Úloha: Pri registrácii vytvorte novú rolu a nastavte jej meno ROLE_PLAYER.Úloha: Vytvorte vzťah UserRole a nastavte jej parametre roleEntry a userEntry. Zmeny nezabudnite uložiť do databázy.
-
Keď už existuje rola priradená hráčom, môžeme ju využiť pri konfigurácii bezpečnosti.Úloha: Upravte
META-INF/spring/applicationContext-security.xmltak, aby mal hráč prístup iba k stránkam MyVillages, Villages, Train, Attack, Build a Notifications. Zvyšné stránky nech požadujú adminské práva.Poznámka: Súbor už obsahuje bežné nastavenia.Správnosť implementácie overíte tak, že po kliknutí na zakázanú položku v menu sa vám zobrazí chybová hláška. -
Ďalej chceme pred hráčom skryť aj položky menu, ktoré nemá vidieť. Položky menu sú definované vo
webapp/WEB-INF/views/menu.jspxÚloha: V tagu div zadefinujte security nasledovne:
Zabezpečte obsah nasledovným párovým tagom. Položky mezdi týmito tagmi budú zobrazené len používateľom s ROLE_ADMIN.xmlns:security="http://www.springframework.org/security/tags"<security:authorize ifAnyGranted="ROLE_ADMIN"> </security:authorize>
Zdroje
comments powered by Disqus


Rolev databáze je jej meno. Preto by sa mala vytvárať nová iba v tom prípade, že ešte v databáze neexistuje.