Bonjour je travaille sur un site en java ee avec Tomcat 9. Sur ce site j'ai une fonctionnalité de connexion. En local sur eclipse lorsque je fais mes tests j'arrive à me connecter sans soucis mais lorsque je vais en production et que j'essaie de deployer l'application, j'arrive plus à me connecter. La session se crée bien vu que j'ai accès à la session ID mais la redirection me laisse sur la même page et la session ne se crée pas.
package com.gehant.admin.validation;
import javax.servlet.http.HttpServletRequest;
import com.gehant.admin.beans.Utilisateur;
import com.gehant.admin.dao.UtilisateurDao;
import com.gehant.admin.utils.Constants;
import com.gehant.admin.utils.FunctionUtils;
public class ConnexionValidation {
private final String CHAMP_EMAIL = "email";
private final String CHAMP_PASSWORD = "password";
private UtilisateurDao utilisateurDao = null;
public ConnexionValidation(final UtilisateurDao utilisateurDao) {
this.utilisateurDao = utilisateurDao;
}
public Utilisateur validConnexion(final HttpServletRequest request) {
final String email = FunctionUtils.getValueChamp(request, this.CHAMP_EMAIL);
final String password = FunctionUtils.getValueChamp(request, this.CHAMP_PASSWORD);
final String passwordCrypted = FunctionUtils.crypterPass(Constants.PASSWORD_ALGORITHM, password);
final Utilisateur utilisateur = this.utilisateurDao.adminConnect(email, passwordCrypted);
if (utilisateur != null && this.utilisateurDao.updateConnect(utilisateur.getId())) {
return utilisateur;
}
return null;
}
}
La page de servlets
package com.gehant.admin.servlets;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.gehant.admin.beans.Utilisateur;
import com.gehant.admin.dao.UtilisateurDao;
import com.gehant.admin.factory.DaoFactory;
import com.gehant.admin.utils.Constants;
import com.gehant.admin.validation.ConnexionValidation;
@WebServlet(urlPatterns = "/gehant-admin/connexion")
public class Connexion extends HttpServlet {
private UtilisateurDao utilisateurDao = null;
public static final String ATT_ADMIN_SESSION = "admin";
@Override
public void init() throws ServletException {
this.utilisateurDao = ((DaoFactory) this.getServletContext().getAttribute(Constants.ATT_FACTORY))
.getUtilisateurDao();
}
@Override
public void doPost(final HttpServletRequest request, final HttpServletResponse response)
throws ServletException, IOException {
response.setCharacterEncoding("UTF8");
final ConnexionValidation validation = new ConnexionValidation(this.utilisateurDao);
final Utilisateur utilisateur = validation.validConnexion(request);
if (utilisateur != null) {
final HttpSession session = request.getSession();
session.setAttribute(ATT_ADMIN_SESSION, utilisateur);
response.getWriter().write("{\"result\" : \"ok\"}");
} else {
response.getWriter().write("{\"msg\" : \"L'adresse email et/ou le mot de passe est incorrect.\"}");
}
}
}
Merci de me venir en aide. Ca fait plus de 2 semaines que je n'y arrive pas à regler le probleme
Vickson Ahiwa
Tomcat : Impossible de créer une session
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Vickson Ahiwa