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 :

Servlet d'authentification avec MySQL


Sujet :

Servlets/JSP Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Servlet d'authentification avec MySQL
    Bonsoir à tous, je viens de créer une Servlet Login et une page JSP Login afin de permettre l'authentification des utilisateurs qui se sont enregistrés dans ma base de donnée. Le problème de ma Servlet c'est qu'elle ne permet l’authentification que de la dérniére personne s'étant inscrite ... et je ne comprend pas du tout pourquoi !

    Et dans un deuxième temps j'aimerai changer la connexion de ma Servlet pour passer par mon fichier persistence.xml

    Voici mes codes ! avez vous une idée de l'origine du probléme ?

    Ma servlet Login :

    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
    package com.supmessaging.servlet;
     
    import java.io.*;
    import java.sql.*;
     
    import javax.servlet.*;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.*;
     
    @WebServlet(urlPatterns = "/Logintest")
     
    public class Login extends HttpServlet{
      /**
         *
         */
        private static final long serialVersionUID = 1L;
     
    private ServletConfig config;
     
      public void init(ServletConfig config)
      throws ServletException{
    // this.config=config;
     }
      public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException{
     
      PrintWriter out = response.getWriter();
      // "configuration" de la connexion à la base de donnée
      String connectionURL = "jdbc:mysql://localhost:3306/supmessaging";
      Connection connection=null;
      ResultSet rs;
      //variable locale pour le username et le password
      String usrnm=new String("");
      String pswd=new String("");
      response.setContentType("text/html");
      try {
      Class.forName("com.mysql.jdbc.Driver");
      //Connexion à la base de données
      connection = DriverManager.getConnection(connectionURL, "root", "");
      // on récupére username et password dans la BDD
     
     
     
     
     
     
     
      String sql = "SELECT username, password FROM users" ;
      Statement s = connection.createStatement();
      s.executeQuery (sql);
      rs = s.getResultSet();
      while (rs.next ()){
      usrnm=rs.getString("username");
      pswd=rs.getString("password");
      }
      rs.close ();
      s.close ();
      }catch(Exception e){
      System.out.println("Exception is ;"+e);
      }
      //on compare les usernames et password entrer avec ceux de la ba BDD
      if(usrnm.equals(request.getParameter("username")) && pswd.equals(request.getParameter("password"))){
     
      request.getSession().setAttribute("username", usrnm);
      out.println("login ok");
     
      }
      else{
      out.println("login nok");
      }
      }
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            RequestDispatcher rd = req.getRequestDispatcher("/login.jsp");
            rd.forward(req, resp);
        }
    }
    Ma page JSP login :

    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
    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
    <%@ page import="java.util.*" %>
    <!DOCTYPE html>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
            <title>SupMessaging by MLabs</title>
            <link rel="stylesheet" href="./style.css" />
        </head>
     
        <body>
            <%@ include file="header.jsp" %>
     
            <!-- Main -->
            <div id="main" class="main">
                <form action="<%= request.getContextPath() %>/Logintest" method="post">
                    <h2>identifiez vous</h2>
                    <p>
                        Nom d'utilisateur :<br>
                        <input type="text" pattern=".{4,30}" name="username" placeholder="4 caractères minimum." size=30  required>
                        <br>
     
                        Mot de passe :<br>
                        <input type="password" pattern=".{8,40}" name="password" placeholder="8 caractères minimum." size=30 required>
                        <br>
     
                        <input type="submit" value="Soumettre">
                    </p>
                </form>
            </div>
     
            <%@ include file="footer.jsp" %>
        </body>
    </html>

    Ma page persistence.xml :


    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
    <persistence xmlns="http://java.sun.com/xml/ns/persistence"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
                 http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
        version="2.0">
     
        <persistence-unit name="PU" transaction-type="RESOURCE_LOCAL">
     
     
            <properties>
                <property name="hibernate.archive.autodetection" value="class" />
                <property name="hibernate.format_sql" value="true" />
                <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
                <property name="javax.persistence.jdbc.user" value="root" />
                <property name="javax.persistence.jdbc.password" value="" />
                <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/supmessaging" />
                <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
                <property name="hibernate.hbm2ddl.auto" value="update" />
     
     
            </properties>
        </persistence-unit>
    </persistence>

  2. #2
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    salut,
    changer ta requete te permetrait de savoir si celui qui s´identifie est bien dans ta base de données:
    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
     
     String sql = "SELECT username, password FROM users where username =? and password=?" ;
      Statement s = connection.createStatement();
      PreparedStatement preparedStatement = connection.prepareStatement(sql);
    			preparedStatement.setString(1, request.getParameter("username"));
    			preparedStatement.setString(2, request.getParameter("password")));
    ResultSet rs = preparedStatement.executeQuery();
    if(rs.next())
    {
      //utilisateur present dans la base de données
    }
    else
    {
      // Utilisateur n´est pas dans la base de données
    }
    eric

Discussions similaires

  1. Authentification avec struts2 + MySql
    Par Colonel-Essaid dans le forum Struts 1
    Réponses: 0
    Dernier message: 10/04/2011, 21h09
  2. [Conseil] Systeme d'authentification avec base MySql
    Par x-zolezzi dans le forum ASP.NET
    Réponses: 5
    Dernier message: 14/09/2010, 20h32
  3. Script d'authentification PHP / MySQL avec session
    Par king_soft dans le forum Langage
    Réponses: 6
    Dernier message: 09/07/2010, 15h00
  4. Authentification JAAS avec MySQL
    Par kubowsky dans le forum Wildfly/JBoss
    Réponses: 4
    Dernier message: 25/05/2009, 10h52
  5. [MySQL] Authentification avec MYSQL ?
    Par Kenshin86 dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 23/03/2007, 21h21

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