Jahia en Français > Soumission d'un...

1 (1 Good)
0 (0 Bad)

Soumission d'un formulaire

by  rmacaronus »  2014/07/10 15:31

Bonjour,

J'ai créé le formulaire suivant dans la vue d'un composant :

<form id="findEventsForm" method="POST" action="<c:url value='${renderContext.mainResource.node.name}.html'/>">
    <input type="text" name="nom"></input>  <input type="submit">
</form>

J'ai créé un filtre sur le composant afin de solliciter une appli externe via des web services à la soumission du formulaire.

Lorsque je soumet le formulaire en POST j'ai une erreur 400 alors que si je le soumet en GET il n'y a pas de problème.

Pourquoi ?

Merci.

  • Soumission d'un formulaire
    2014/10/20 19:16

    rmacaronus <p>Bonjour,</p> <p>J&#39;ai cr&eacute;&eacute; le formulaire suivant dans la vue d&#39;un composant :</p> <p>&lt;form id=&quot;findEventsForm&quot; method=&quot;POST&quot;&nbsp;action=&quot;&lt;c:url value=&#39;${renderContext.mainResource.node.name}.html&#39;/&gt;&quot;&gt;<br /> &nbsp;&nbsp; &nbsp;&lt;input type=&quot;text&quot; name=&quot;nom&quot;&gt;&lt;/input&gt; &nbsp;&lt;input type=&quot;submit&quot;&gt;<br /> &lt;/form&gt;</p> <p>J&#39;ai cr&eacute;&eacute; un filtre sur le composant afin de solliciter une appli externe via des web services &agrave; la soumission du formulaire.</p> <p>Lorsque je soumet le formulaire en POST j&#39;ai une erreur 400 alors que si je le soumet en GET il n&#39;y a pas de probl&egrave;me.</p> <p>Pourquoi ?</p> <p>Merci.</p>

  • Number of messages  1
    Registration date Jul 10, 2014
    0 (0 Good)
    0 (0 Bad)

    Même problème

    by  dupuisw »  2014/10/20 19:18

    Bonjour,

    Avez-vous trouvé une solution à votre problème ?

    Je rencontre exactement le même problème. Aucune log n'apparait à part cette erreur http 400.

     

     

    Merci

     

      (dupuisw)

    Number of messages  10
    Registration date
    0 (0 Good)
    0 (0 Bad)

    Re : Même problème

    by  dgriffon »  2014/10/20 19:54

    L'erreur 400 survient car votre formulaire n'a pas d'url de redirection.

    Pour repondre a ce genre de problematique vous ne devez pas utiliser un filtre mais une action.

    Vous trouverez un exemple d'implementation ici :

    http://www.jahia.com/documentation-and-downloads/developers-techwiki/content-manipulation/actions

    si le but de votre web service est de remonter de l'information devant etre traitée dans la page, vous pouvez le faire en faisant retourner du JSON a votre action et traiter le resultat en ajax. 

    si non, le parametre vous  jcrRedirectTo permet de definir la page de redirection.

    David

    David Griffon (dgriffon)

    Number of messages  76
    Registration date
    0 (0 Good)
    0 (0 Bad)

    Re : Re : Même problème

    by  dupuisw »  2014/10/21 07:31

    Merci pour votre retour.

    Mon problème est un peu différent du post initial. 

    Pour ma part, je suis dans une valve d'authentification qui étend "AutoRegisteredBaseAuthValve".

    Je reçois les informations de connexion en POST d'une fédération d'identité.

    Les paramétres en POST sont bien traités dans ma valve, l'authentification se fait bien.

    2014-10-21 09:19:09,772: INFO  [Render] - Rendered [/cms/render/live/fr/sites/ACMESPACE/home/events.html] user=[dupuisw] ip=[1.1.1.1] sessionID=[CF9C64B998E65D4746D9E680377210BB] in [176ms]
    2014-10-21 09:19:09,774: WARN  [ErrorLoggingFilter] - [Error code: 400

    Par contre j'ai en suivant une erreur 400. Si je rafraichis la page, je suis bien authentifié dans Jahia.

    En activant des logs, la seule ligne qui me permet de penser qu'elle génére une erreur HTTP 400 est la suivante :

    2014-10-20 15:20:54,025: DEBUG [JahiaDispatcherServlet] - Null ModelAndView returned to DispatcherServlet with name 'RendererDispatcherServlet': assuming HandlerAdapter completed request handling

    Je n'ai pas la possibilité de modifier les informations qui me sont envoyées en POST. Je ne peux donc tester avec le paramètre "jcrRedirectTo"

    J'ai testé en l'ajoutant en GET ou en Attribute mais cela ne change rien.

     

    Pour information, je suis en Digital Factory 7.0.0.2.

     

    Cordialement,

    William

     

     

     

      (dupuisw)

    Number of messages  10
    Registration date
    0 (0 Good)
    0 (0 Bad)

    Re : Re : Re : Même problème

    by  dgriffon »  2014/10/21 08:06

    Il s'agit bien d'un probleme de redirection.

    Encore une fois, vous est il par contre possible de poster sur une action qui elle se chargera de la redirection ?

    David

    David Griffon (dgriffon)

    Number of messages  76
    Registration date
    0 (0 Good)
    0 (0 Bad)

    Re : Re : Re : Re : Même problème

    by  dupuisw »  2014/10/22 08:13

    Bonjour,

    Je viens d'effectuer différents essais de gestion de l'authentification depuis une action mais cette solution ne me semble pas très viable.

     

     

    Cette gestion nécessite de gérer via un filtre la redirection vers ma fédération d'identité lorsque l'utilisateur n'a pas les droits d'accès à une page et l'action doit être appelée via une page où l'utilisateur guest a accés ("pageaccessible.monaction.do").

    De plus, cela désactive complètement tout le fonctionnement de la chaine d'authentification de Jahia.

     

    N'est-il pas possible de rester sur un fonctionnement normal de l'authentification via une valve et de traiter le problème de génération de l'erreur HTTP 400 ? Savez-vous quelle fonctionnalité peut la générer ? 

     

    Merci d'avance.

    Cordialement,

    William

     

      (dupuisw)

    Number of messages  10
    Registration date
    0 (0 Good)
    0 (0 Bad)

    Re : Re : Re : Re : Re : Même problème

    by  dgriffon »  2014/10/22 08:58

    Votre action ne doit gerer que la redirection. Lors de la soumission de votre formulaire,  la valve devrait etre appelée pour effectuer l'authentification.

    En toute logique, une fois dans votre action, votre utilisateur devrait etre authentifié.

    Le probleme que vous avez actuellement n'est pas qu'un probleme de redirection. En ne specifiant pas d'action vous appelez l'action par defaut de Jahia qui sert a editer le noeud defini dans l'url d'action mais n'a pas les informations necessaire pour le faire et donc genere une erreur.

    David

    David Griffon (dgriffon)

    Number of messages  76
    Registration date
    0 (0 Good)
    0 (0 Bad)

    Re : Re : Re : Re : Re : Re : Même problème

    by  dupuisw »  2014/10/28 09:45

    Merci pour vos éclaircissements.

    Cela fonctionne bien désormais. Ma valve gère l'authentification et une action gère la redirection.

     

    William

      (dupuisw)

    Number of messages  10
    Registration date
    Contact
    Share
    Feedback

    Get in touch

    Whether you are a current user or if you are just evaluating Jahia, we are here to help.

    Contact us

    Share this page