CQ5 currentPage.listChildren()没有列出所有页面

时间:2014-11-17 14:32:19

标签: cq5 aem sling

我有一个页面说xyz,其中包含许多子页面。一些子页面是“启用CUG”。在我的jsp中,我正在调用currentPage.listChildren(),但这只是在我以管理员身份登录时列出了启用CUG的页面。如果匿名用户点击此jsp的url,则不会列出启用CUG的页面。下面是我的jsp代码:

Iterator<Page> itr = currentPage.listChildren();

                while(itr.hasNext()) {

                    Page ctxPage = itr.next();
                    String url =  hostName + ctxPage.getVanityUrl()+".html";
                    %>
                        <a href="<%=url%>"><%=url%><br/>
                    <%
                    }
                }

我还尝试使用here描述的方法以管理员身份登录工作区,但它不起作用。

感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

我认为这种行为是有意的 - 只有属于指定为CUG的用户组的用户才能查看这些页面。

现在需要列出这些页面的目的。

最简单的解决方案是将“所有人”添加到这些特定页面属性的CUG部分中的“允许的组”。但这首先打败了CUG的目的。

注意:这样做会让“所有人”访问这些页面 - 这可能不是您想要的。

<强>此外: 如果要保留访问权限,则需要转到节点级别并直接访问存储库。 这里展示了如何获得“具有管理员权限的资源解析器”: https://cqwemblog.wordpress.com/2013/12/29/ways-to-access-jcr-repository-in-cq5/

然后,您可以使用此资源解析程序来获取您的网页并访问其子网。