web:framework:spring:td5

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
web:framework:spring:td5 [2023/03/12 18:25] jcheronweb:framework:spring:td5 [2023/03/15 19:12] (Version actuelle) jcheron
Ligne 9: Ligne 9:
   - Créer la branche td5 à partir de votre branche td4 (master & dogs)   - Créer la branche td5 à partir de votre branche td4 (master & dogs)
   - Intégrer les dépendances Spring Security   - Intégrer les dépendances Spring Security
 +  - Utiliser dans un premier temps la connexion provisoire avec l'utilisateur user, dont le mot de passe s'affiche dans la console Spring
 +
 +==== Entités ====
 +Créer les entities **User** et **Role** :
 +
 +<html><div class="imageB"></html>{{:web:framework:spring:userroles.png?direct&400|}}<html></div></html>
 +
 +Créer les repositories :
 +  * **UserRepository:JpaRepository** (permettant en + de rechercher un user par son username ou son email)
 +  * **RoleRepository:CrudRepository**
 +
 +==== Sécurisation ====
 +Définir les rôles suivants :
 +  * USER
 +  * MANAGER_DOG (+ USER)
 +  * MANGER_MASTER (+ USER)
 +  * ADMIN (+ MANAGER_DOG + MANAGER_MASTER)
 +
 +<WRAP important>
 +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**
 +</WRAP>
 +
 +
 +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**
 +
 +==== Connexion depuis la BDD ====
 +
 +  * Mettre en place une authentification basique par login ou email/password depuis la base de données.
 +  * Hasher le mot de passe avec **BCrypt**.
 +
 +==== Formulaire de login ====
 +
 +Personnaliser le formulaire de login :
 +
 +<html><div class="imageB"></html>{{:web:framework:spring:pasted:20230313-002338.png}}<html></div></html>
 +
 +et la page de déconnexion (affichant un message) :
 +
 +<html><div class="imageB"></html>{{:web:framework:spring:pasted:20230313-002537.png}}<html></div></html>
 +
 +Afficher le message suivant en cas d'accès non autorisé :
 +
 +
 +<html><div class="imageB"></html>{{:web:framework:spring:pasted:20230314-141024.png}}<html></div></html>
 +
 +==== Interface Admin ====
 +<WRAP todo>
 +Créer l'interface permettant de gérer les utilisateurs et les rôles :
 +</WRAP>
 +<html><div class="imageB"></html>{{:web:framework:spring:pasted:20230314-013353.png}}<html></div></html>
 +
 +
 +
 +
  
  
  • web/framework/spring/td5.1678641941.txt.gz
  • Dernière modification : il y a 2 ans
  • de jcheron