IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Web en Java Discussion :

verouiller un utilisateur au bout de 3 tentative d'authentifification


Sujet :

Développement Web en Java

  1. #1
    Membre très actif
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    433
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 433
    Par défaut verouiller un utilisateur au bout de 3 tentative d'authentifification
    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.

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 909
    Billets dans le blog
    54
    Par défaut
    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 tag quand 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

  3. #3
    Membre très actif
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    433
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 433
    Par défaut
    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 .

  4. #4
    Membre expérimenté
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2012
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 170
    Par défaut
    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:

    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);
    tu persistera bien sur les tentatives dans ta table.....

    je ne t'ai pas fourni tout le code mais je pense que l'essentiel est la ....

    Bon courage!

Discussions similaires

  1. [AC-2007] Avis sur methode pour "verouiller" l'utilisateur
    Par koluche dans le forum VBA Access
    Réponses: 2
    Dernier message: 06/06/2011, 16h18
  2. Réponses: 9
    Dernier message: 26/01/2010, 15h33
  3. [XL-2003] feuille verouillé pour les utilisateurs pas pour les macro
    Par nemoc dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/07/2009, 11h00
  4. bloquer un utilisateur après 5 tentatives d'accès
    Par adel.87 dans le forum Langage
    Réponses: 1
    Dernier message: 24/04/2008, 00h16
  5. Réponses: 3
    Dernier message: 22/06/2007, 19h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo