Bonsoir,
j'ai cherché partout un code java qui utilise les sessions pour bloquer un utilisateur au bout de 3 tentatives d'authentifications.
Où puis-je trouver un exemple de blocage avec les sessions ?
Merci d'avance.
Bonsoir,
j'ai cherché partout un code java qui utilise les sessions pour bloquer un utilisateur au bout de 3 tentatives d'authentifications.
Où puis-je trouver un exemple de blocage avec les sessions ?
Merci d'avance.
Vu qu'il y a aucun contexte (utilisation, framework, bibliothèque, etc.) dans ta question, ça va être dur de te répondre avec précision...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 int tentativeEchouee = 0; Session session = null; while (tentativeEchouee < MAX_TENTATIVE_ECHOUEE) saisirIdentifiants(); session = identifier(utilisateur, motDePasse); if (session != null && session.estValide()) { break; } tentativeEchouee ++; afficherAvertissement(erreur, nbDEssaiRestant); } if (session != null && session.estValide()) { [...] }
Merci de penser au tagquand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez mon blog sur Développez.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook
merci infiniment, je cherche aussi une solution avec les httpsession, mais ils disent que le cycle de vie d'une session commence avec l'ouverture du navigateur avant l'athentification, c'est pour cela que je cherchais un code avec j'aurais du le preciser une httpsession, mais je ne vois pas quel paramètre de la session dois je tester.
merci encore de la 1ere solution qui m'intéresse aussi .
Bonjour,
Je te suggère de travailler avec un table connexion dans laquelle tu devra stocker le compteur de tentatives de connexions échouées.
Pourquoi?
Eh bien parce que si tu travaille avec les session,tu n'auras aucune traçabilité sur le nombre de connexions échouées.
En effet si ton user change de navigateur ou bien est en navigation privée,tu ne sauras rien sur son historique de connexion.
Pour cela , il vaudrait mieux consulter la table connexion et récupérer le compteur que tu remet bien sur a zéro à chaque connexion réussie.
Il faudra bien sur avoir un modèle de blocage lorsque les tentatives échouée atteignent un certain nombre ( par exemple 3 tentatives => 5min de blocage, 6 tentatives => 10 min .....ou autre .....)
Une fois que tu as pensé a un bon système, tu pourras très facilement faire ce que tu veux car ce sera le plus simple:
tu persistera bien sur les tentatives dans ta table.....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 // récupération de l'attribut compteur de l'objet session Integer tentatives =(Integer)laSession.getAttribute(compteur); if( isPost ){ // une requête HTTP POST a été reçue String pwd = req.getParameter("pwd"); // si le password est correct if( verifier(pwd) ){ tentatives = new Integer(0); else tentatives = new Integer( tentatives.intValue() + 1 ); // l'attribut de l'objet session est incrémenté laSession.setAttribute(compteur,tentatives);
je ne t'ai pas fourni tout le code mais je pense que l'essentiel est la ....
Bon courage!
Partager