Jahia en Français > rendre du contenu...

0 (0 Good)
0 (0 Bad)

rendre du contenu non anonyme, visible sur une page Public

by  slebrun »  2013/07/15 08:44

Bonjour,

J'ai une sous-page dans mon site qui contient des actualités qui ne sont pas accessible aux utilisateurs non-logués.
Il faudrait faire remonter les titres des actualités sur la page de connexion.


J'ai fait une formation à Jahia dans laquelle on m'a donné le code ci-dessous pour ce genre de problèmatique. Mais on a pas eu le temps
de m'expliquer comment  il marche, et j'ai du mal à le mettre en place.
les actualités sont situé sur la page: /sites/sigAstre/home/services/evenements


Le code est le suivant:

final JCRNodeWrapper myNode = (JCRNodeWrapper) pageContext.findAttribute("currentNode");
        final RenderContext renderContext = (RenderContext) pageContext.findAttribute("renderContext");

        String myNodeURL = null;

        try {
            myNodeURL = JCRTemplate.getInstance().doExecuteWithSystemSession(renderContext.getUser().getUsername(), renderContext.getWorkspace(), renderContext.getMainResourceLocale(), new JCRCallback<String>() {
                public String doInJCR(JCRSessionWrapper jcrSessionWrapper) throws RepositoryException {
                    JCRNodeWrapper myNodeAsRoot = jcrSessionWrapper.getNode(myNode.getPath());
                    JCRNodeWrapper dldURLNode = (JCRNodeWrapper) myNodeAsRoot.getProperty("dldURL").getNode();
                    return dldURLNode.getUrl();
                }
            });
        } catch (RepositoryException re) {

        }

        pageContext.setAttribute("dldURL", myNodeURL);



Si il existe une autre solution je suis preneur aussi.

Renou Pierre-Alain
 

  (slebrun)

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

Re: rendre du contenu non anonyme, visible sur une page Public

by  tdraier »  2014/01/27 15:03

Bonjour,

Ce code ne fait que forcer la lecture de l'url du noeud référence par "didURL" et la met dans un attribut de la page. Concretement toute la partie dans doExecuteWithSession est executée en system et outrepasse les droits, ce qui permet de lire didURL qui n'est normalement pas lisible pour les utilisateurs non-loggés. 

Par contre, je ne vois pas vraiment ce que vous voulez faire - ce code peut permettre d'afficher un lien normalement invisible dans la page en question, mais il ne fait rien concernant uen eventuelle page de connexion ?

Cordialement

 

Thomas Draier (tdraier)

Number of messages  9
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