Je travaille en ce moment sur une application en JAVA JSP/SERVLET avec annuaire LDAP et on vient de découvrir un problème pour le moins étrange.
Un utilisateur peut se connecter sur l'application normalement (login-mdp) ou par connexion SSO. Et dans le cas d'une connexion SSO, tous les formulaires POST de l'application ne renvoit plus d'informations.
Dans les servlets, quand je fais un "request.getParameter("nomDuChamp")", cela me renvoit toujours null.
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
String nom = request.getParameter("nom");
String statut = request.getParameter("statut");
}
(code simplifié vous l'aurez compris :))
en gros la je récupere bien "dosearch" dans la variable statut mais dans la variable nom j'ai tjrs "null", même si je met une valeur dans mon formulaire.
Qd je passe en GET (ds la jsp et que j'écris la méthode doGet à la place de doPost), j'obtiens l'inverse, c'est-à-dire "null" dans la variable statut et le contenu de mon input "nom" dans la variable "nom".
Je sais pas si c'est lieux plus au JAVA ou à SSO donc je poste sur un forum de chaque :)
Peut-être un ; qui manque après <%=defaultServletRep;%>, mais je ne pense pas du tout que ce soit le problème. C'est assez étrange en effet comme bug.
__________________________
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : rien ne fonctionne et personne ne sait pourquoi...
Apparemment c'est vraiment lié à l'environnement puisque ca plante dès la 1ere page de mon application, celle où on rentre login/mdp ou bien où l'on clique sur "connexion SSO".
Quand je suis connecté à windows avec un compte utilisateur AD de l'application sur le domaine de l'appli (c'est de cette façon que je peux me conncter en SSO) et que je veux me connecter par login et mot de passe, les 2 champs ne renvoient rien à la servlet.
En revanche, quand je suis connecté à windows avec un compte administrateur de la machine les 2 champs sont fonctionnels.
J'ai comparé les 2 codes html il n'y a aucune différence... (qqn m'avez dit sur un autre forum que cela pouvait être a cause d'un "response.setContentType("multipart/form-data");" qui poserait des problèmes sur l'envoi en POST)
Si je ne me trompe pas , définir dans ton objet response un contentType multipart signifie que tu envois un fichier.
__________________________
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : rien ne fonctionne et personne ne sait pourquoi...
je suis d'accord mais justement il n'y a pas de "response.setContentType("multipart/form-data");" dans mon code. C'est pour ça que ça ne vient pas de là...
j'ai tjrs pas trouvé de solutions alors pour l'instant je suis passé à autre chose en attendant que le chef de projet technique revienne de vacances :D