Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
d3:tp05 [2025/09/28 19:49] – [3. Vérifier cet échange d'identifiant de session avec les outils de développement du navigateur] dthevenot | d3:tp05 [2025/10/03 14:09] (Version actuelle) – [Autres évolutions/Améliorations possibles] dthevenot | ||
---|---|---|---|
Ligne 113: | Ligne 113: | ||
Actuellement, | Actuellement, | ||
- | Après une authentification réussie, il faudra mettre en session un booléen (isAuthentified) | + | L' |
+ | - créer une **table salarie** dans la base de données qui contient leur login, mot de passe et leur rôle (estAdmin, booléen : administrateur ou pas) | ||
+ | - créer la **javabean SalarieMysql** pour gérer les salariés (2 méthodes : readAll() et lireSalarie((String login, String mdp))) | ||
+ | - créer une méthode **existeUser**(HttpServletRequest request) dans la classe **AuthentifForm** qui retourne un booléen pour vérifier l' | ||
+ | - changer la méthode **controlerAdmin** de la classe AuthentifForm pour utiliser le **rôle** du salarié qui s' | ||
+ | |||
+ | Après une authentification réussie, il faudra mettre en session un booléen (**isAuthentified**) indiquant cette réussite ou non (méthode | ||
Ensuite il faudrait faire en sorte qu' | Ensuite il faudrait faire en sorte qu' | ||
- | Cette façon de procéder fonctionne, mais le problème, c'est qu'il faudrait reproduire cette modification dans toutes les servlets. Ce qui n'est pas satisfaisant. | + | |
+ | <del>Cette façon de procéder fonctionne, mais le problème, c'est qu'il faudrait reproduire cette modification dans toutes les servlets. Ce qui n'est pas satisfaisant. | ||
Au lieu d' | Au lieu d' | ||
Ligne 123: | Ligne 130: | ||
Pour créer un filtre : | Pour créer un filtre : | ||
- | * onglet File>New File> | + | * onglet |
- | * Nommer ce filtre AuthentifFilter, | + | * Nommer ce filtre |
- | * Cocher la case "Add information to deployment descriptor (web.xml)", | + | * Cocher la case "**Add information to deployment descriptor (web.xml)**", puis **Next et Finish** |
- | Remplacer | + | Dans la classe AuthentifFilter.java, |
< | < | ||
// Cast de l' | // Cast de l' | ||
Ligne 140: | Ligne 147: | ||
boolean authentificationOK = false; | boolean authentificationOK = false; | ||
if (maSession.getAttribute(" | if (maSession.getAttribute(" | ||
- | | + | |
- | maSession.getAttribute(" | + | |
} | } | ||
if (authentificationOK) { | if (authentificationOK) { | ||
Ligne 156: | Ligne 162: | ||
Vérifier la présence de 2 nouvelles sections au niveau du fichier web.xml : < | Vérifier la présence de 2 nouvelles sections au niveau du fichier web.xml : < | ||
- | Peut-être avez-vous remarqué un problème concernant les caractères spéciaux (accent, tréma, | ||
- | Télécharger **filtreEncodage.xml** depuis le Drive, et en copier le contenu | + | < |
- | ====== Résumé ====== | + | Télécharger **filtreEncodage.xml** depuis le Drive, et en copier le contenu dans votre fichier **web.xml**, |
+ | </ | ||
+ | < | ||
* Il existe 4 portées d' | * Il existe 4 portées d' | ||
Ligne 175: | Ligne 182: | ||
ArrayList < | ArrayList < | ||
* La mémorisation d'un attribut de session s' | * La mémorisation d'un attribut de session s' | ||
- | < | + | < |
- | * Un **filtre** est un objet Java qui peut modifier les entêtes et le contenu d'une requête http avant l' | + | |
- | * C'est dans la méthode doFilter du filtre que l'on vérifiera la présence d'une variable de session indiquant si l' | + | |
===== V. Amélioration de l’application ===== | ===== V. Amélioration de l’application ===== | ||
Ligne 200: | Ligne 204: | ||
- Quelle méthode de cette servlet sera sollicitée ? | - Quelle méthode de cette servlet sera sollicitée ? | ||
==== 4. Modifier à nouveau la servlet afin d' | ==== 4. Modifier à nouveau la servlet afin d' | ||
+ | ===== VI.Autres évolutions/ | ||
+ | - suppression d'un client | ||
+ | - hachage du mot de passe | ||
+ | - sécurisation de l' | ||
+ | - ajout favicon | ||
+ | - ... | ||
+ | |||