| 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 19:02] – [Entités] jcheron | web:framework:spring:td5 [2023/03/15 19:12] (Version actuelle) – jcheron |
|---|
| |
| <html><div class="imageB"></html>{{:web:framework:spring:userroles.png?direct&400|}}<html></div></html> | <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 ==== | ==== Sécurisation ==== |
| Définir les rôles suivants : | Définir les rôles suivants : |
| * USER | * USER |
| * MANAGER_DOG (> USER) | * MANAGER_DOG (+ USER) |
| * MANGER_MASTER (> USER) | * MANGER_MASTER (+ USER) |
| * ADMIN (> MANAGER_DOG & > MANAGER_MASTER | * 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> |
| |
| |
| * La page d'accueil (**/**), la page **/login**, l'api rest sont accessibles sans authentification. | * La page d'accueil (**/**), la page **/login**, l'api rest sont accessibles sans authentification. |
| * La console H2 doit être accessible | * 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> |
| | |
| | |
| | |
| |
| |
| |