Jahia en Français > Impossible d'ajouter...

0 (0 Good)
0 (0 Bad)

Impossible d'ajouter un cookie via un filter java

by  msallafr »  2015/09/11 10:00

Bonjour,

Je souhaite enregistrer un cookie à partir d’un filter java. Cependant, ce cookie n’arrive pas jusqu’au navigateur.

Peut-on enregistrer des cookies de cette manière ? Sinon, quelle solution peut-on mettre en place ?

Ci-dessous, le code de mon filter :

 

public class CookieFilter extends AbstractFilter{

      

       public CookieFilter() {

             super();

             // Exécuté avant le filtre de cache (16)

             this.setPriority(1);

             this.setApplyOnNodeTypes("cant:simulateur");

             //this.setApplyOnModes("preview");

             System.out.println("COOKIEFILTER");

       }

 

       @Override

       public String execute(String previousOut, RenderContext renderContext,

                    Resource resource, RenderChain chain) throws Exception {

            

             Cookie cookie = new Cookie("MATTEXECUTE", "JE SUIS UN SUPER COOKIE EXECUTE");

             renderContext.getResponse().addCookie(cookie);

             System.out.println("COOKIEFILTER - AJOUT DU COOKIE EXECUTE");

             return super.execute(previousOut, renderContext, resource, chain);

       }

 

       @Override

       public String prepare(RenderContext renderContext, Resource resource,

                    RenderChain chain) throws Exception {

             Cookie cookie = new Cookie("MATTPREPARE", "JE SUIS UN SUPER COOKIE PREPARE");

             renderContext.getResponse().addCookie(cookie);

             System.out.println("COOKIEFILTER - AJOUT DU COOKIEPREPARE");

             return super.prepare(renderContext, resource, chain);

       }

 

       @Override

       public void finalize(RenderContext renderContext, Resource resource,

                    RenderChain renderChain) {

             Cookie cookie = new Cookie("MATTFINALIZE", "JE SUIS UN SUPER COOKIE FINALIZE");

             renderContext.getResponse().addCookie(cookie);

             super.finalize(renderContext, resource, renderChain);

       }

}

Pour info, les traces s’affichent bien dans la console, donc le filter est bien exécuté.

 

Merci d’avance.

  • Impossible d'ajouter un cookie via un filter java
    2015/09/11 10:00

    msallafr <p>Bonjour,</p> <p>Je souhaite enregistrer un cookie &agrave; partir d&rsquo;un filter java. Cependant, ce cookie n&rsquo;arrive pas jusqu&rsquo;au navigateur.</p> <p>Peut-on enregistrer des cookies de cette mani&egrave;re&nbsp;? Sinon, quelle solution peut-on mettre en place&nbsp;?</p> <p>Ci-dessous, le code de mon filter&nbsp;:</p> <p>&nbsp;</p> <p><strong>public</strong> <strong>class</strong> CookieFilter <strong>extends</strong> AbstractFilter{</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>public</strong> CookieFilter() {</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>super</strong>();</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // <u>Ex&eacute;cut&eacute;</u> avant <u>le</u> <u>filtre</u> <u>de</u> cache (16)</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>this</strong>.setPriority(1);</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>this</strong>.setApplyOnNodeTypes(&quot;cant:simulateur&quot;);</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //this.setApplyOnModes(&quot;preview&quot;);</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.<strong><em>out</em></strong>.println(&quot;COOKIEFILTER&quot;);</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p> <p>&nbsp;</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @Override</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>public</strong> String execute(String previousOut, RenderContext renderContext,</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Resource resource, RenderChain chain) <strong>throws</strong> Exception {</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Cookie cookie = <strong>new</strong> Cookie(&quot;MATTEXECUTE&quot;, &quot;JE SUIS UN SUPER COOKIE EXECUTE&quot;);</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; renderContext.getResponse().addCookie(cookie);</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.<strong><em>out</em></strong>.println(&quot;COOKIEFILTER - AJOUT DU COOKIE EXECUTE&quot;);</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>return</strong> <strong>super</strong>.execute(<u>previousOut</u>, renderContext, resource, chain);</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p> <p>&nbsp;</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @Override</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>public</strong> String prepare(RenderContext renderContext, Resource resource,</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RenderChain chain) <strong>throws</strong> Exception {</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Cookie cookie = <strong>new</strong> Cookie(&quot;MATTPREPARE&quot;, &quot;JE SUIS UN SUPER COOKIE PREPARE&quot;);</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; renderContext.getResponse().addCookie(cookie);</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.<strong><em>out</em></strong>.println(&quot;COOKIEFILTER - AJOUT DU COOKIEPREPARE&quot;);</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>return</strong> <strong>super</strong>.prepare(renderContext, resource, chain);</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p> <p>&nbsp;</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @Override</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>public</strong> <strong>void</strong> finalize(RenderContext renderContext, Resource resource,</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RenderChain renderChain) {</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Cookie cookie = <strong>new</strong> Cookie(&quot;MATTFINALIZE&quot;, &quot;JE SUIS UN SUPER COOKIE FINALIZE&quot;);</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; renderContext.getResponse().addCookie(cookie);</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>super</strong>.finalize(renderContext, resource, renderChain);</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p> <p>}</p> <p>Pour info, les traces s&rsquo;affichent bien dans la console, donc le filter est bien ex&eacute;cut&eacute;.</p> <p>&nbsp;</p> <p>Merci d&rsquo;avance.</p>

  • Number of messages  2
    Registration date Sep 11, 2015
    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