[Tomcat] POST dans zone sécurisée

POST dans zone sécurisée [Tomcat] - Divers - Programmation

Marsh Posté le 11-03-2009 à 12:08:25    

B'jour à tous,
 
J'ai un p'tit problème avec une appli sous Tomcat.
J'utilise un Realm pour limiter l'accès, avec une page de login toussa, donc quelqu'un qui essaye d'accéder à une page dans la zone sécurisée est redirigé sur la page de login, et une fois identifié, il est redirigé vers sa page. S'il avait passé des paramètres en GET, il les conserve.
Ca marche impec.
J'ai ajouté un genre d'auto-login sur la page de login: si quelqu'un essaye d'accéder directement à une page de la zone sécurisée, et que dans ses parameres ya username et password, la page de login s'en sert pour faire un login silencieux et renvoie directement la page demandée, en gardant tous les paramètres GET.
Ca marche impec.
Par contre, si j'utilise un FORM pour envoyer la meme demande en POST, ca ne marche plus; il semble que lors de la redirection automatique vers la page de login, les parametres POST disparaissent. Si j'appelle directement la page de login, les parametres POST sont bien la.
 
Bouts de code à toute fin utile:
la page de login avec le login auto:

Code :
  1. <%@ page contentType="text/html; charset=UTF-8" language="java" errorPage="" %>
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  3. <html>
  4. <head>
  5. ...
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  7. </head>
  8. <%
  9. if (request.getParameter("username" )!=null && request.getParameter("password" )!=null) {
  10.  %>
  11.   <form name="autoLogin" METHOD=POST ACTION="j_security_check">
  12.   <input name="j_username" id="j_username" type="hidden" value="<%=request.getParameter("username" )%>"/>
  13.   <input name="j_password" id="j_password" type="hidden" value="<%=request.getParameter("password" )%>"/>
  14.   </form>
  15.   <script>
  16.    document.forms['autoLogin'].submit();
  17.   </script>
  18.  <%
  19. }
  20. %>
  21. ...
  22. </html>


 
La FORM qui appelle la page:

Code :
  1. <form name="postTest" action="<URL vers page sécurisée>" method="POST">
  2. <input type="hidden" name="username" value="xxx"/>
  3. <input type="hidden" name="password" value="yyy"/>
  4. <input type="submit" value="Submit"/>
  5. </form>


 
En gros, je comprends pas pourquoi ca passe en GET et pas en POST. Des idées??
Merci d'avance...


---------------
C'était vraiment très intéressant.
Reply

Marsh Posté le 11-03-2009 à 12:08:25   

Reply

Sujets relatifs:

Leave a Replay

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