web:framework:spring:td5

TD n°5

  1. Créer la branche td5 à partir de votre branche td4 (master & dogs)
  2. Intégrer les dépendances Spring Security
  3. Utiliser dans un premier temps la connexion provisoire avec l'utilisateur user, dont le mot de passe s'affiche dans la console Spring

Créer les entities User et Role :

Créer les repositories :

  • UserRepository:JpaRepository (permettant en + de rechercher un user par son username ou son email)
  • RoleRepository:CrudRepository

Définir les rôles suivants :

  • USER
  • MANAGER_DOG (+ USER)
  • MANGER_MASTER (+ USER)
  • ADMIN (+ MANAGER_DOG + MANAGER_MASTER)

La hiérarchie des droits n'étant pas fonctionnelle dans la version Spring security 6.0 utilisée,
il faut manuellement accorder les droits MANAGER_DOG, MANAGER_MASTER et USER à l'ADMIN

Mettre en place les éléments de sécurisation suivants :

  • La page d'accueil (/), la page /login, l'api rest sont accessibles sans authentification.
  • La console H2 doit être accessible
  • MANAGER_DOG peut accéder aux opérations de modification des chiens (Ajout/suppression/modification)
  • MANAGER_MASTER peut accéder aux opérations de modification des masters (Ajout/suppression/modification)
  • ADMIN a le droit d'accéder aux URLs de gestion des Users et Roles en /admin
  • Mettre en place une authentification basique par login ou email/password depuis la base de données.
  • Hasher le mot de passe avec BCrypt.

Personnaliser le formulaire de login :

et la page de déconnexion (affichant un message) :

Afficher le message suivant en cas d'accès non autorisé :

Créer l'interface permettant de gérer les utilisateurs et les rôles :

  • web/framework/spring/td5.txt
  • Dernière modification : il y a 21 mois
  • de jcheron