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

Servlets/JSP Java Discussion :

Problème avec une fenêtre de connexion


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 115
    Par défaut Problème avec une fenêtre de connexion
    Bonjour,

    Je voudrais faire un petit programme, qui quand je fais la connexion avec l'admin, affiche sur le même page (où était la fenêtre de connexion) Bienvenue et un bouton déconnexion. Je ne sais pas comment le faire dans la même fenêtre.
    En même temps je voudrais qu'après trois tentative de connexion (avec mauvais mot de passe ou mauvais identifiant) bloquer le possibilité de connexion pendant 10 minutes et afficher en dessous la fenêtre de connexion une message sur l'erreur.

    Merci d'avance!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
     
    package servlets;
     
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.Date;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.*;
     
    @WebServlet(name = "servlet04", urlPatterns = {"/servlet04"})
    public class servlet04 extends HttpServlet {
     
        private Cookie getCookie(Cookie[] cookies, String name){
     
            if (cookies != null) {
                for (Cookie cookie : cookies) {
                    if (cookie.getName().equals(name)) {
                        return cookie;
                    }
                }
            }
            return null;
        }
        protected void processRequest(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            response.setContentType("text/html;charset=UTF-8");
            PrintWriter out = response.getWriter();
            try {
                out.println("<html>");
                out.println("<head>");
                out.println("<title>Servlet servlet04</title>");            
                out.println("</head>");
                out.println("<body>");
     
                String user;
                String motdepasse;
     
                      out.println(
                         "<html>"+
                            "<head>"+
                                "<title></title>"+
                                "<meta http-equiv=\"Content-Type\"content=\"text/html; charset=UTF-8\">"+
                            "</head>"+
                            "<body>"+
                                "<form action=\"servlet04\" method=\"POST\">"+
                                    "User: <input type=\"text\" name=\"user\" />"+
                                    "<br><br>"+
                                    "Mot de passe: <input type=\"password\" name=\"motdepasse\"/>"+
                                    "<br><br>"+
                                    "<input type=\"submit\" value=\"Ok\" name=\"doit\" />"+
                                "</form>"+
                            "</body>"+
                        "</html>");
     
     
                      int compteur = 0;
     
                if (request.getParameter("user").equals("admin") && request.getParameter("motdepasse").equals("root")) {
    //                String destination  ="servlet";        
    //                response.sendRedirect(response.encodeRedirectURL(destination));
                    //response.sendRedirect("/servlets/servlet.java");
                    out.println("Bienvenu admin!");
                    out.println("<input type=\"submit\" value=\"Déconnexion\" name=\"doit\" />");
     
                } else {
                    out.println("User et mot de passe invalide!");
                    compteur++;
     
                    if (compteur == 3) {
                        Cookie cc = new Cookie("LASTVISIT", new Date().toString());
                        cc.setMaxAge(60 * 10);
                        response.addCookie(cc);
     
                        out.println("Apès 3 tentatives, user et mot de passe invalide! Vous avez 10 minutes avant le prochain essai!");
                        out.println("LASTVISIT: " + cc.getValue());
                    }
                }
     
                out.println("</body>");
                out.println("</html>");
            } finally {            
                out.close();
            }
        }
    }

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Bonjour,
    En supposant que tu n'as toujours pas résolu tes problèmes, je vais te proposer tout d'abord fonctionnellement comment y parvenir:
    1-Je te conseille sur la forme d'avoir une jsp de connexion, faire du "out" dans une servlet comme ça pour produire du html est vivement déconseillée
    2-Pour bloquer une connexion au bout de 3 trois tentatives, il te faudrait enregistrer en session l'ip de la machine, et le nombre de tentative, donc pour chaque connexion tu enregistres le numéro de la tentative et l'ip, au bout de 3 tentatives, t'enregistres maintenant en session l'heure du dernier échec et et l'ip. Quand l'utilisateur réessayera de se connecter tu te rends en session tu récupères l'heure de la dernière connexion,l'ip et tu fais la différence avec l'heure en cours.
    Voila fonctionnellement ce que tu peux faire, maintenant je doute qu'avec ton éxprience tu y parviennes, je te conseillerai d'abord de maitriser les bases de communication entre une servlet et une jsp avant de t'attaquer à de telles problématiques. Tu peux apprendre avec un tuto comme celui ci

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/02/2015, 14h04
  2. [Compiler] Problème avec une fenêtre dos
    Par kira9744 dans le forum MATLAB
    Réponses: 20
    Dernier message: 01/11/2010, 11h28
  3. problème avec une chaine de connexion
    Par étudiant49 dans le forum VB.NET
    Réponses: 2
    Dernier message: 06/08/2010, 11h48
  4. Problème avec une connexion locale
    Par MarocWare dans le forum Réseau
    Réponses: 5
    Dernier message: 09/12/2007, 15h04
  5. [Javascript] Problème avec une fenêtre popup.
    Par mika0102 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/05/2005, 10h50

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