Un petit souci avec la login

Un petit souci avec la login - Java - Programmation

Marsh Posté le 26-10-2012 à 15:15:06    

Bonjour,
 
J'ai un petit souci avec mon login. J'ai une formulaire de login, quand je clique sur le bouton "ok" sans préciser le login ou le mot de passe, le message bienvenue s'affiche quand même. Je n'arrive pas gérer ça. Qu'est-ce qu'il faudrait que je fasse? Merci bien pour votre aide!!!
 
Voici ma servlet:
 
 
@WebServlet("/controleur" )
public class controleur extends HttpServlet {
 
 private Cookie getCookie(Cookie cookies[], String name) {
  if (cookies != null) {
   for (Cookie c : cookies) {
    if (c.getName().equals(name)) {
     return c;
    }
   }
  }
 
  return null;
 }
 
 /**
  * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
  *      response)
  */
 protected void doGet(HttpServletRequest request,
   HttpServletResponse response) throws ServletException, IOException {
  // TODO Auto-generated method stub
 
  response.setContentType("text/html;charset=UTF-8" );
  HttpSession session = request.getSession();
   
  String url = "/index.jsp";
 
  beansLogin beansLogin = (beansLogin) session.getAttribute("beansLogin" );
 
  if ("connexion".equalsIgnoreCase(request.getParameter("section" ))) {
   System.out.println("connexion" );
   if (null != request.getParameter(beansLogin.mdp)) {
    beansLogin.mdp = request.getParameter("mdp" );
   }
 
   if (null != request.getParameter(beansLogin.login)) {
    beansLogin.login = request.getParameter("login" );
   }
   if (null != request.getParameter(beansLogin.compagnie)) {
    beansLogin.compagnie = request.getParameter("compagnie" );
   }
   url = "/WEB-INF/pages/bienvenue.jsp";
 
  }
 
  else {
   System.out.println("erreur" );
   String er = "login ou mot de passe invalide";
   request.setAttribute("erreur", er);
  }
   
 
  if ("deconnexion".equals(request.getParameter("action" ))) {
   System.out.println("déconnexion" );
   if (request.getParameter("delogin" ) != null) {
    System.out.println("déconnexion2" );
    Cookie c = getCookie(request.getCookies(), "login" );
    c.setMaxAge(0);
    response.addCookie(c);
 
    url = "/index.jsp";
   }
  }
 
  if ("catalogue".equals(request.getParameter("section" )) == true) {
   if (request.getParameter("cat" ) != null) {
 
    url = "/WEB-INF/pages/catalogue.jsp";
 
   }
  }
 
  getServletContext().getRequestDispatcher(url)
    .forward(request, response);
 }
}
 
 
et ma formulaire login:
 
<%@page import= "beans.beansLogin" %>
 
<%  String er=(String)request.getAttribute("erreur" );
    if(er==null) er="";
    String log=request.getParameter("login" );
    if(log==null) log="";
    String mdp=request.getParameter("mdp" );
    if(mdp==null) mdp="";
%>
 
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
      <form action="ctrl" method="get">
        <input type="hidden" name="section" value="connexion" />
         <legend>Se connecter</legend>
         <table align="center">
           
            <tr>  
               <td><label><strong>Login :</strong></label></td>
               <td><input type="text" name="login" value="<%=log%>"/></td>  
            </tr>  
             
            <tr>
               <td><label><strong>Mot de passe :</strong></label></td>
               <td><input type="password" name="mdp" value="<%=mdp%>"/></td>  
            </tr>
             
            <table align="center">
            <tr>
            <td><input type="submit" name="doIt" value="Ok"/></td>
            </tr>
             
            <tr>  
            <div class="er"></div><td><%=er%></td></div>
            </tr>
             
            </table>
         </table>  
      </form>  
</body>
</html>
 

Reply

Marsh Posté le 26-10-2012 à 15:15:06   

Reply

Marsh Posté le 26-10-2012 à 15:38:58    

Tu vas sur la page bienvenu si ("connexion".equalsIgnoreCase(request.getParameter("section" )))
sans considération de login non vide ou non null
 
hors tu as un champ hidden dans le formulaire
 <input type="hidden" name="section" value="connexion" />
 
Donc il est normal que tu ailles toujours sur la page de bienvenue
 
 

Reply

Marsh Posté le 26-10-2012 à 15:52:06    

Merci pour ton réponse.
J'ai ajouté cette ligne juste après ça: ("connexion".equalsIgnoreCase(request.getParameter("section" )))

 


if (request.getParameter("doIt" ) != null && request.getParameter("login" ).trim().isEmpty() != true && request.getParameter("mdp" ) .trim().isEmpty()!= true) {

 

Maintenant je reste bien sur la page login, mais sans le message d'erreur, en plus la page bienvenue n'affiche plus du tout


Message édité par harkrisz le 26-10-2012 à 15:52:33
Reply

Marsh Posté le 26-10-2012 à 16:24:19    

En fait, c'est bon, sauf, que le message d'erreur s'affiche après la déconnexion et pas avant la connexion.  
 
Puis, je ne passe pas dans le déconnexion le  System.out.println("déconnexion" ); ne 'affiche pas dans le console... Qu'est-ce qu'il faudra que je fasse? Merci!

Reply

Marsh Posté le 29-10-2012 à 10:30:38    

Il faut que tu debugges, développer ca a aussi des côtés moins fun.
Tu fais tourner ta servlet en mode debug dans Eclipse avec un serveur Tomcat (ou autre) embarqué.
En mettant des points d'arrêts aux endroits judicieux.
 

harkrisz a écrit :

En fait, c'est bon, sauf, que le message d'erreur s'affiche après la déconnexion et pas avant la connexion.  
Puis, je ne passe pas dans le déconnexion le  System.out.println("déconnexion" ); ne 'affiche pas dans le console... Qu'est-ce qu'il faudra que je fasse? Merci!


Reply

Marsh Posté le 29-10-2012 à 14:40:42    

Merci!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed