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.

  (rmacaronus)

Number of messages  1
Registration date
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